Các Toán tử trong python(python operators)

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

Trong lập trình Python, toán tử được sử dụng để thực hiện các phép toán trên giá trị và biến. Chúng là các ký hiệu tiêu chuẩn để thực hiện các phép toán logic và số học. Bài viết này sẽ giới thiệu các loại toán tử trong Python.

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

1. Khái niệm toán tử trong Python

  • Toán tử: Là các ký hiệu đặc biệt, ví dụ: +, *, /, v.v.
  • Toán hạng: Là giá trị mà toán tử được áp dụng lên.

2. Các loại toán tử trong Python

  • Toán tử số học
  • Toán tử so sánh
  • Toán tử logic
  • Toán tử bit
  • Toán tử gán
  • Toán tử nhận dạng và toán tử thành viên

3. Toán tử số học trong Python

Các toán tử số học được sử dụng để thực hiện các phép toán như cộng, trừ, nhân và chia.

Trong Python 3.x, phép chia / trả về kết quả kiểu float, còn trong Python 2.x, phép chia giữa hai số nguyên sẽ cho kết quả là số nguyên. Nếu muốn lấy phần nguyên trong Python 3.x, có thể sử dụng //.

Ví dụ:

# Khai báo biến
a = 15
b = 4

# Các phép toán số học
print("Cộng:", a + b)
print("Trừ:", a - b)
print("Nhân:", a * b)
print("Chia:", a / b)
print("Chia lấy phần nguyên:", a // b)
print("Lấy dư:", a % b)
print("Lũy thừa:", a ** b)

Kết quả:

Cộng: 19  
Trừ: 11
Nhân: 60
Chia: 3.75
Chia lấy phần nguyên: 3
Lấy dư: 3
Lũy thừa: 50625

4. Toán tử so sánh trong Python

Toán tử so sánh dùng để so sánh giá trị giữa hai biến, kết quả trả về True nếu phép so sánh đúng hoặc False nếu phép so sánh sai.

Ví dụ:

a = 13
b = 33

print(a > b)  # False
print(a < b)  # True
print(a == b) # False
print(a != b) # True
print(a >= b) # False
print(a <= b) # True

Kết quả:

False  
True
False
True
False
True

5. Toán tử logic trong Python

Toán tử logic trong Python được sử dụng để kết hợp hoặc thao tác trên các điều kiện và biểu thức boolean (True hoặc False). Chúng thường xuất hiện trong các câu lệnh điều kiện như if, while, hoặc return trong các hàm.

Các loại toán tử logic trong Python

Python có ba loại toán tử logic chính:

Toán tửMô tảVí dụ
andTrả về True nếu cả hai điều kiện đều đúng(x > 5) and (y < 10)
orTrả về True nếu ít nhất một điều kiện đúng(x > 5) or (y < 10)
notĐảo ngược giá trị của điều kiệnnot (x > 5)

5.1. Toán tử and trong Python

Toán tử and trả về True chỉ khi cả hai điều kiện đều đúng, nếu có một điều kiện sai, kết quả sẽ là False.

Ví dụ sử dụng and

x = 7
y = 12

# Kiểm tra cả hai điều kiện
if x > 5 and y < 15:
    print("Cả hai điều kiện đều đúng")
else:
    print("Một trong hai điều kiện sai")

Kết quả:

Cả hai điều kiện đều đúng

📌 Lưu ý: Nếu điều kiện đầu tiên là False, Python sẽ không kiểm tra điều kiện thứ hai (gọi là short-circuiting).

x = 3
y = 12

# Điều kiện đầu tiên False -> Python bỏ qua điều kiện thứ hai
print(x > 5 and y < 15)  # False

5.2. Toán tử or trong Python

Toán tử or trả về True nếu ít nhất một trong hai điều kiện đúng. Nó chỉ trả về False khi cả hai điều kiện đều sai.

Ví dụ sử dụng or

x = 3
y = 12

if x > 5 or y < 15:
    print("Ít nhất một điều kiện đúng")
else:
    print("Cả hai điều kiện đều sai")

Kết quả:

Ít nhất một điều kiện đúng

📌 Lưu ý: Nếu điều kiện đầu tiên là True, Python sẽ không kiểm tra điều kiện thứ hai (short-circuiting).

x = 10
y = 20

# Điều kiện đầu tiên đúng -> bỏ qua điều kiện thứ hai
print(x > 5 or y < 15)  # True

5.3. Toán tử not trong Python

Toán tử not đảo ngược giá trị của điều kiện. Nếu điều kiện ban đầu là True, not sẽ biến nó thành False và ngược lại.

Ví dụ sử dụng not

x = 5

if not x > 10:
    print("Điều kiện bị đảo ngược thành True")
else:
    print("Điều kiện bị đảo ngược thành False")

Kết quả:

Điều kiện bị đảo ngược thành True

📌 Ứng dụng của not:

  • Kiểm tra biến có giá trị rỗng (None, [], {}, ""…)
  • Xác định trạng thái False trong điều kiện
list_items = []
if not list_items:
    print("Danh sách rỗng")

Kết quả:

Danh sách rỗng

5.4. Thứ tự ưu tiên của toán tử logic trong Python

Trong Python, độ ưu tiên của toán tử logic được xếp theo thứ tự:

  1. not (cao nhất)
  2. and
  3. or (thấp nhất)

📌 Ví dụ về thứ tự ưu tiên:

x = True
y = False
z = True

result = not x or y and z
print(result)  # False

📌 Cách đọc lệnh trên:

  1. not xnot TrueFalse
  2. y and zFalse and TrueFalse
  3. False or FalseFalse

Nếu muốn thay đổi thứ tự ưu tiên, sử dụng dấu ngoặc () để nhóm biểu thức:

result = not (x or y) and z
print(result)  # False

5.5. Ứng dụng thực tế của toán tử logic

Kiểm tra đăng nhập hợp lệ:

username = "admin"
password = "12345"

if username == "admin" and password == "12345":
    print("Đăng nhập thành công")
else:
    print("Sai tên đăng nhập hoặc mật khẩu")

Kiểm tra điều kiện hợp lệ của biến

age = 20
has_license = True

if age >= 18 and has_license:
    print("Bạn đủ điều kiện lái xe")
else:
    print("Bạn không đủ điều kiện")

Ứng dụng trong trò chơi (Game Development)

health = 50
mana = 30

if health > 0 and mana > 0:
    print("Nhân vật vẫn còn sống")
else:
    print("Nhân vật đã chết")

6. Toán tử bit trong Python

6. Toán tử bit trong Python

Toán tử bitwise trong Python là các toán tử thao tác trực tiếp trên các bit nhị phân của số nguyên (int). Chúng thực hiện các phép toán như AND, OR, XOR, dịch bit trái/phải, đảo bit,…

📌 Ứng dụng của toán tử bit:

  • Tối ưu hóa hiệu suất trong xử lý số học
  • Nén và mã hóa dữ liệu (mã hóa, bảo mật)
  • Điều khiển phần cứng, lập trình nhúng
  • Xử lý dữ liệu nhị phân (hình ảnh, âm thanh)

6.1. Danh sách các toán tử bit trong Python

Toán tửKý hiệuChức năngVí dụ
AND bitwise&Trả về 1 nếu cả hai bit đều là 15 & 3 → 101 & 011 = 001 → 1
OR bitwise|Nếu ít nhất một bit là 1, kết quả sẽ là 1.
Nếu cả hai bit đều là 0, kết quả sẽ là 0.
Trả về 1 nếu ít nhất một bit là 1
XOR bitwise^Trả về 1 nếu hai bit khác nhau5 ^ 3 → 101 ^ 011 = 110 → 6
NOT bitwise~Đảo tất cả các bit (bit 1 thành 0 và ngược lại)~5 → -(5 + 1) → -6
Dịch trái<<Dịch tất cả các bit sang trái (nhân 2^n)5 << 1 → 101 << 1 = 1010 → 10
Dịch phải>>Dịch tất cả các bit sang phải (chia 2^n)5 >> 1 → 101 >> 1 = 10 → 2

6.2. Toán tử AND bitwise (&)

Phép AND bitwise giữ lại các bit là 1 nếu cả hai toán hạng có giá trị 1 tại cùng một vị trí.

Ví dụ toán tử &

a = 5  # 101 (nhị phân)
b = 3  # 011 (nhị phân)

result = a & b  # 101 & 011 = 001 (nhị phân) = 1
print("AND bitwise:", result)  # Output: 1

6.3. Toán tử OR bitwise (|)

Phép OR bitwise giữ lại 1 nếu ít nhất một toán hạng có giá trị 1 tại cùng một vị trí.

Ví dụ toán tử |

a = 5  # 101
b = 3  # 011

result = a | b  # 101 | 011 = 111 (nhị phân) = 7
print("OR bitwise:", result)  # Output: 7

6.4. Toán tử XOR bitwise (^)

Phép XOR bitwise trả về 1 nếu hai bit khác nhau, nếu giống nhau trả về 0.

Ví dụ toán tử ^

a = 5  # 101
b = 3  # 011

result = a ^ b  # 101 ^ 011 = 110 (nhị phân) = 6
print("XOR bitwise:", result)  # Output: 6

6.5. Toán tử NOT bitwise (~)

Phép NOT bitwise đảo tất cả các bit của số nguyên.

🔹 Cách tính NOT của số x:
~x = -(x + 1)

Ví dụ toán tử ~

a = 5  # 101 (nhị phân)
result = ~a  # -(5 + 1) = -6
print("NOT bitwise:", result)  # Output: -6

6.6. Toán tử dịch trái (<<)

Phép dịch trái (<<) sẽ dịch tất cả các bit sang trái n lần, tương đương với nhân 2^n.

Ví dụ toán tử <<

a = 5  # 101 (nhị phân)

result = a << 1  # 101 << 1 = 1010 (nhị phân) = 10
print("Dịch trái:", result)  # Output: 10

💡 Công thức: a << n = a * 2^n

Ví dụ:

  • 5 << 1 = 5 * 2^1 = 10
  • 5 << 2 = 5 * 2^2 = 20

6.7. Toán tử dịch phải (>>)

Phép dịch phải (>>) sẽ dịch tất cả các bit sang phải n lần, tương đương với chia 2^n.

Ví dụ toán tử >>

a = 5  # 101 (nhị phân)

result = a >> 1  # 101 >> 1 = 10 (nhị phân) = 2
print("Dịch phải:", result)  # Output: 2

💡 Công thức: a >> n = a / 2^n

Ví dụ:

  • 5 >> 1 = 5 / 2^1 = 2
  • 5 >> 2 = 5 / 2^2 = 1

6.8. Ứng dụng thực tế của toán tử bit

Kiểm tra số chẵn/lẻ (dùng AND &)

n = 10
if n & 1 == 0:
    print("Số chẵn")
else:
    print("Số lẻ")

🔹 Giải thích:

  • Nếu số n có bit cuối cùng là 0 → số chẵn
  • Nếu số n có bit cuối cùng là 1 → số lẻ

Hoán đổi hai số mà không cần biến tạm (dùng XOR ^)

a = 10
b = 20

a = a ^ b
b = a ^ b
a = a ^ b

print("Sau khi hoán đổi:", a, b)

Tính toán nhanh hơn bằng dịch bit (<<, >>)

x = 5
print("Nhân 5 với 2:", x << 1)  # 5 * 2 = 10
print("Chia 5 cho 2:", x >> 1)  # 5 / 2 = 2

Tóm tắt về toán tử bitwise trong Python

  • & → AND: Cả hai bit đều là 1 thì kết quả là 1
  • | → OR: Ít nhất một bit là 1 thì kết quả là 1
  • ^ → XOR: Hai bit khác nhau thì kết quả là 1
  • ~ → NOT: Đảo ngược bit (~x = -(x + 1))
  • << → Dịch trái (nhân 2^n)
  • >> → Dịch phải (chia 2^n)

💡 Ghi nhớ:

  • Dịch trái (<<) tăng giá trị số
  • Dịch phải (>>) giảm giá trị số
  • XOR (^) có thể dùng để hoán đổi số

7. Toán tử gán trong Python

Toán tử gán được sử dụng để gán giá trị cho biến.

Ví dụ:

a = 10
b = a
print(b)  # 10

b += a
print(b)  # 20

b -= a
print(b)  # 10

b *= a
print(b)  # 100

b <<= a
print(b)  # 102400

8. Toán tử nhận dạng trong Python

Toán tử isis not được sử dụng để kiểm tra xem hai biến có trỏ đến cùng một vùng nhớ hay không.

Ví dụ:

a = 10
b = 20
c = a

print(a is not b)  # True
print(a is c)      # True

9. Toán tử thành viên trong Python

Toán tử innot in được sử dụng để kiểm tra xem một giá trị có tồn tại trong danh sách hay không.

Ví dụ:

x = 24
y = 20
lst = [10, 20, 30, 40, 50]

if x not in lst:
    print("x không có trong danh sách")
else:
    print("x có trong danh sách")

if y in lst:
    print("y có trong danh sách")
else:
    print("y không có trong danh sách")

Kết quả:

x không có trong danh sách  
y có trong danh sách

10. Toán tử ba ngôi trong Python

Toán tử ba ngôi (ternary operator) giúp viết điều kiện if-else ngắn gọn hơn.

Cú pháp:

[giá trị nếu đúng] if [điều kiện] else [giá trị nếu sai]

Ví dụ:

a, b = 10, 20
min_value = a if a < b else b

print(min_value)  # 10

11. Độ ưu tiên và tính kết hợp của toán tử

Python có quy tắc xác định thứ tự ưu tiên khi sử dụng nhiều toán tử cùng lúc.

Ví dụ:

expr = 10 + 20 * 30
print(expr)  # 610

name = "Alex"
age = 0

if name == "Alex" or name == "John" and age >= 2:
    print("Chào mừng!")
else:
    print("Tạm biệt!")

Kết quả:

610  
Chào mừng!

12. Bài tập thực hành toán tử Python

Câu 1: Thực hiện các phép toán số học trên số nguyên

num1 = 5
num2 = 2

tong = num1 + num2
hieu = num1 - num2
tich = num1 * num2
thuong = num1 / num2
thuong_nguyen = num1 // num2
so_du = num1 % num2

print("Tổng:", tong)
print("Hiệu:", hieu)
print("Tích:", tich)
print("Thương:", thuong)
print("Thương nguyên:", thuong_nguyen)
print("Số dư:", so_du)

Menu Python>>

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: Content is protected !!
Hotline: 039.2266.928
Khóa học Toefl
Phone now