Từ khóa Python

Category: Python

Từ khóa trong Python là những từ dành riêng có ý nghĩa đặc biệt và phục vụ cho mục đích cụ thể trong cú pháp ngôn ngữ. Từ khóa Python không thể được sử dụng làm tên của biếnhàmlớp hoặc bất kỳ định danh nào khác.

Danh sách các từ khóa trong Python

True

False

None

and

or

not

is

if

else

elif

for

while

break

continue

pass

try

except

finally

raise

assert

def

return

lambda

yield

class

import

from

in

as

del

global

with

nonlocal

async

await

Lấy danh sách tất cả các từ khóa Python

Chúng ta cũng có thể lấy tất cả tên từ khóa bằng cách sử dụng đoạn mã bên dưới.

import keyword

# in ra tất cả các từ khóa một lần bằng cách sử dụng "kwlist()"
print("Danh sách các từ khóa là: ")
print(keyword.kwlist)

Đầu ra:

Danh sách các tkhóa là:

['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',  'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Làm thế nào để xác định từ khóa Python?

Với Syntax Highlighting - Hầu hết các IDE đều cung cấp tính năng syntax-highlighting. Bạn có thể thấy các từ khóa xuất hiện với màu sắc hoặc kiểu khác nhau.

Tìm SyntaxError - Lỗi này sẽ xảy ra nếu bạn sử dụng bất kỳ từ khóa nào không đúng cách. Lưu ý rằng không thể sử dụng từ khóa làm định danh (biến hoặc tên hàm).

Hãy phân loại tất cả các từ khóa dựa trên ngữ cảnh và hiểu từng từ khóa với sự trợ giúp của ví dụ.

Loại

Từ khóa

Từ khóa giá trị

True, False, None

Từ khóa của toán tử

and, or, not, in, is

Từ khóa kiểm soát luồng

if, else, elif, for, while, break, continue, pass, try, except, finally, raise, assert

Chức năng và Lớp

def, return, lambda, yield, class

Quản lý ngữ cảnh

with, as

Nhập khẩu và Mô-đun

import, from, as

Phạm vi và không gian tên

global, nonlocal

Lập trình bất đồng bộ

async, await

Từ khóa giá trị: True, False, None

  • True, False: Biểu thị giá trị boolean (đúng/sai).

  • None: Đại diện cho giá trị rỗng (null). Khác với 0, khác với danh sách rỗng [ ], và thuộc kiểu NoneType. Thường dùng để biểu thị rằng không có giá trị nào được gán.

print(False == 0)  
# In ra True vì False bằng 0

print(True == 1)  
# In ra True vì True bằng 1

# True + True + True là 3 (1 + 1 + 1)
print(True + True + True)

# True + False + False là 1 (1 + 0 + 0)
print(True + False + False)

# None không bằng 0
print(None == 0)

# None không bằng danh sách rỗng []
print(None == [])

Đầu ra:

Đúng
Đúng
3
1
Sai
Sai

Từ khóa toán tử: and, or, not, in, is

  • and: Trả về True nếu cả hai điều kiện đúng.

  • or: Trả về True nếu ít nhất một điều kiện đúng.

  • not: Đảo ngược giá trị boolean (True → False, False → True).

a = True
b = False

# Các phép toán logic
print(a and b)  # AND: True nếu cả a và b đều là True
print(a or b)   # OR: True nếu ít nhất một trong a hoặc b là True
print(not a)    # NOT: Đảo ngược giá trị của a

in: Dùng để kiểm tra xem một giá trị có tồn tại trong chuỗi, danh sách, tuple,… hay không. Trả về True nếu tìm thấy.

# ví dụ 1
print(3 in [1, 2, 3])
# Kiểm tra xem số 3 có nằm trong danh sách [1, 2, 3] không
# Kết quả: True

# ví dụ 2
if 's' in 'geeksforgeeks':
    print("s là một phần của chuỗi geeksforgeeks")
else:
    print("s không phải là một phần của chuỗi geeksforgeeks")

is: Dùng để kiểm tra hai biến có tham chiếu cùng một đối tượng trong bộ nhớ hay không. Trả về True nếu giống hệt nhau.

# ví dụ 1
print(2 is 2)
# So sánh xem 2 có phải là cùng một đối tượng với 2 không
# Kết quả: True

# ví dụ 2
a = [1, 2, 3]
b = a
c = [1, 2, 3]

# Đúng: a và b cùng tham chiếu đến một đối tượng
print(a is b)  # Kết quả: True

# Sai: a và c có cùng giá trị nhưng là hai đối tượng khác nhau
print(a is c)  # Kết quả: False

Từ khóa điều kiện: if, elif ,else

  • if: Thực thi khi điều kiện đúng.

  • elif: là viết tắt của else if.

  • else: Thực thi khi tất cả điều kiện đều sai.

x = 0

# câu lệnh if elif else trong Python
if x > 0:
    print("Số dương")
elif x < 0:
    print("Số âm")
else:
    print("Số không")

Từ khóa lặp trong Python

  • for: Dùng để lặp qua các phần tử trong chuỗi, danh sách, v.v.

  • while: Lặp khi điều kiện còn đúng.

  • break: Thoát khỏi vòng lặp ngay lập tức.

  • continue: Bỏ qua vòng lặp hiện tại, tiếp tục vòng kế tiếp.

  • pass: Câu lệnh rỗng, dùng làm chỗ giữ chỗ trong khối lệnh.

# Ví dụ vòng lặp 'for'
for num in range(3):
    if num == 2:
        continue  # Bỏ qua số 2
    print(num)
# Kết quả: 0 1

# Ví dụ vòng lặp 'while'
count = 0
while count < 4:
    count += 1
    if count == 3:
        break  # Thoát khỏi vòng lặp khi count bằng 3
    print(count)
# Kết quả: 1 2
  • pass keyword trong Python

    pass là câu lệnh rỗng, không thực hiện hành động nào. Thường dùng để tránh lỗi thụt lề hoặc làm trình giữ chỗ trong các cấu trúc điều khiển như vòng lặp, hàm, lớp.
    Mã này chứa một vòng lặp for lặp lại 10 lần với câu lệnh trình giữ chỗ 'pass', cho biết không có hành động cụ thể nào được thực hiện trong vòng lặp.

n = 10
for i in range(n):
    # pass có thể được dùng làm trình giữ chỗ
    # khi mã sẽ được thêm vào sau
    pass

Từ khóa xử lý ngoại lệ trong Python

  • try: Kiểm tra đoạn mã có thể gây lỗi.

  • except: Bắt lỗi nếu xảy ra trong khối try.

  • finally: Luôn được thực thi, dù có lỗi hay không.

  • raise: Tự tạo ngoại lệ thủ công.

  • assert: Kiểm tra điều kiện đúng; nếu sai, gây ra AssertionError.

Ví dụ 1: Mã được cung cấp minh họa cách sử dụng một số từ khóa trong Python:

  • try và except: Được sử dụng để xử lý các ngoại lệ, đặc biệt là ZeroDivisionError và in thông báo lỗi nếu nó xảy ra.

  • finally: Khối này luôn được thực thi và nó in ra "Khối này luôn được thực thi" bất kể có xảy ra ngoại lệ hay không.

  • assert: Kiểm tra một điều kiện và nếu là False, sẽ đưa ra lỗi AssertionError kèm theo thông báo "Lỗi chia cho 0".

  • raise: Đưa ra một ngoại lệ tùy chỉnh ( TypeError ) với thông báo lỗi được chỉ định nếu một điều kiện không được đáp ứng.

a, b = 4, 0

try:
    k = a // b  # Thử chia nguyên (4 // 0)
    print(k)

# Khối này bắt lỗi chia cho 0
except ZeroDivisionError:
    print("Không thể chia cho 0")

finally:
    # Khối này luôn luôn được thực thi dù có lỗi hay không
    print("Khối này luôn luôn được thực thi")
print("Giá trị của a / b là : ")

# Gây lỗi AssertionError vì b == 0
assert b != 0, "Lỗi chia cho 0"

# Phép chia này sẽ không thực hiện được vì lỗi assert ở trên
print(a / b)

# Gây lỗi TypeError nếu hai chuỗi khác nhau
temp = "geeks for geeks"
if temp != "geeks":
    raise TypeError("Hai chuỗi không giống nhau.")

Đầu ra:

Không thể chia cho số 0  

Khối này luôn được thực thi

Giá trị của a / b là:  

AssertionError: Lỗi chia cho số 0

Ví dụ 2: Đoạn mã này sử dụng từ khóa raise để đưa ra ngoại lệ TypeError tùy chỉnh nếu hai chuỗi không bằng nhau.

temp = "geeks for geeks"
if temp != "geeks":
    raise TypeError("Hai chuỗi không giống nhau.")

Đầu ra:

TypeError: Cả hai chuỗi đều khác nhau.

Từ khóa del trong Python

del được dùng để xóa biến, phần tử trong danh sách hoặc từ điển. Nó loại bỏ tham chiếu đến một đối tượng..

s = "GeeksForGeeks"
print(s)
del s
print(s)

Đầu ra:

NameError: tên 's' không được xác định


Từ khóa cấu trúc: def, class, return,lambda

Từ khóa def - Định nghĩa một hàm có tên là fun bằng cách sử dụng từ khóa def. Khi hàm được gọi bằng cách sử dụng fun().

def fun():
    print("Bên trong hàm")
fun()

Đầu ra:

Bên trong hàm
  • Từ khóa class:Được dùng để khai báo các lớp do người dùng định nghĩa.

    Đoạn mã này định nghĩa một lớp Python có tên là Dog với hai thuộc tính lớp là attr1 và attr2.

class Dog:
    attr1 = "động vật có vú"
    attr2 = "chó"

Từ khóa trả về: return, yield

  • return: Trả về một giá trị từ hàm và kết thúc hàm ngay lập tức.

  • yield: Trả về từng giá trị một trong trình tạo (generator), cho phép tiếp tục thực thi hàm ở lần gọi tiếp theo.

Sử dụng từ khóa return và yield trong Python:

Từ khóa return được sử dụng để trả về kết quả cuối cùng từ một hàm và thoát khỏi hàm ngay lập tức. Ngược lại, từ khóa yield được sử dụng để tạo một trình tạo (generator), cho phép hàm trả về nhiều giá trị mà không cần thoát hoàn toàn. Khi sử dụng return, hàm trả về một giá trị duy nhất và kết thúc, trong khi yield trả về từng giá trị một và giữ nguyên trạng thái của hàm giữa các lần gọi.

def fun():

    s = 2  

    return s

print(fun())  # In ra giá trị trả về: 2

def fun():

    yield 1

    yield 2

    yield 3  
for value in fun():

  print(value)  # In ra từng giá trị: 1, 2, 3

Đầu ra:

2

1

2

3

Từ khóa lambda trong Python:

Từ khóa lambda được sử dụng để tạo các hàm ẩn danh (hàm không tên) một cách ngắn gọn. Hàm lambda chỉ được phép chứa một biểu thức và không bao gồm bất kỳ câu lệnh nào bên trong. 

# Từ khóa lambda
g = lambda x: x * x * x
print(g(7))

Đầu ra:

343

Từ khóa ngữ cảnh: with, as trong Python

Từ khóa with trong Python

Từ khóa with được sử dụng để gói khối mã thực thi trong các phương thức do trình quản lý ngữ cảnh xác định. Từ khóa này không được sử dụng nhiều trong lập trình hàng ngày.

Mã này trình bày cách sử dụng câu lệnh with để mở tệp có tên 'file_path' ở chế độ ghi ('w'). Nó ghi văn bản 'Hello world !' vào tệp và tự động xử lý việc mở và đóng tệp. Câu lệnh with được sử dụng để quản lý tài nguyên tốt hơn và đảm bảo tệp được đóng đúng cách sau khi khối được thực thi.

# sử dụng câu lệnh with
with open('file_path', 'w') as file:
    file.write('xin chào thế giới !')

Từ khóa as trong Python
Từ khóa as được dùng để tạo bí danh cho mô-đun khi nhập, giúp viết mã ngắn gọn và dễ đọc hơn. Ví dụ: import math as m cho phép dùng m.factorial() thay vì math.factorial().

Mã này sử dụng mô-đun toán Python, được nhập với bí danh gfg. Nó tính toán và in giai thừa của 5. Hàm math.factorial() được sử dụng để tính giai thừa của một số và trong trường hợp này, nó tính giai thừa của 5, tức là 120.

import math as gfg

print(gfg.factorial(5))

Đầu ra:

120

Import và Module: import, from trong Python

  • import: Dùng để nhập toàn bộ mô-đun vào chương trình.

  • from: Dùng kết hợp với importđể nhập cụ thể hàm hoặc lớp từ mô-đun.

Từ khóa import và from giúp truy cập mô-đun hoặc các thành phần cụ thể trong mô-đun. Ví dụ, có thể dùng import math hoặc from math import factorial để sử dụng hàm factorial trong mã mình.

# từ khóa import
from math import factorial
import math
print(math.factorial(10))
# từ khóa from
print(factorial(10))

Đầu ra:

3628800

3628800

Phạm vi và không gian tên: global, nonlocal trong Python

  • global: Khai báo biến bên trong hàm là biến toàn cục, cho phép thay đổi giá trị của biến toàn cục từ trong hàm.

  • nonlocal: Dùng trong hàm lồng nhau để tham chiếu đến biến trong phạm vi hàm bao ngoài, không phải toàn cục.

Sử dụng từ khóa global và nonlocal trong Python:

Trong đoạn mã, từ khóa global được dùng để khai báo biến toàn cục a và b, cho phép hàm add truy cập và thay đổi các biến này, sau đó in kết quả cộng.

Phần tiếp theo minh họa cách dùng nonlocal. Biến var1 được khai báo trong hàm fun, và trong hàm lồng bên trong gun, từ khóa nonlocal cho phép sửa đổi var1 từ hàm bao ngoài. Sau đó, giá trị của var1 được tăng lên và in ra.

a = 15
b = 10
def add():
    # Cộng hai biến toàn cục a và b
    c = a + b  
    print(c)
add()  # Kết quả: 25
def fun():
    # Biến cục bộ trong hàm fun()
    var = 10  
    def gun():
        # Thay đổi biến var trong phạm vi bao ngoài (hàm fun)
        nonlocal var  
        var += 10  
        print(var)  
    gun() 
fun()  # Kết quả: 20

Đầu ra:

25
20

Lập trình bất đồng bộ: async, await

Lập trình bất đồng bộ cho phép thực hiện nhiều tác vụ cùng lúc, nâng cao hiệu suất, đặc biệt khi xử lý các tác vụ I/O.

  • async: Dùng để khai báo một hàm bất đồng bộ, cho phép thực thi song song với các tác vụ khác.

import asyncio
async def func():
    print("Xin chào, thế giới async!")

await: (nếu cần bổ sung tiếp nội dung về await, bạn có thể thêm dòng sau)

import asyncio
# Định nghĩa một hàm bất đồng bộ chính (main)
async def main():
    await func()
# Định nghĩa một hàm bất đồng bộ khác in ra thông báo
async def func():
    print("Xin chào, thế giới async!")  
# Chạy hàm main bằng cách sử dụng asyncio.run
asyncio.run(main())

Published on Jun 16, 2025