Pass trong python và cách sử dụng chi tiết | Laptrinhcanban.com

Pass trong python và cách sử dụng chi tiết

Hướng dẫn cách dùng lệnh pass trong python. Bạn sẽ học được lệnh pass trong python là gì, sự khác nhau giữa pass và continue, cũng như các cách sử dụng cụ thể của lệnh pass trong python sau bài học này.

Lệnh pass trong python là gì

Lệnh pass là một câu lệnh không làm gì cả trong python. Lệnh pas thể hiện một hoạt động rỗng - không có gì xảy ra khi lệnh pass được thực thi. Chúng ta sử dụng lệnh pass như một trình giữ chỗ khi bạn cần một câu lệnh về mặt cú pháp nhưng không muốn thực hiện bất kỳ điều gì trong mã của mình.

Trong python, bạn không thể bỏ trống nội dung trong các khối lệnh def khi khai báo hàm hay khối if trong lệnh điều kiện. Điều này gây ra sự phiền toái khi bạn thực sự không muốn thực thi bất cứ điều gì trong các khối lệnh này. Khi đó, lệnh pass xuất hiện như một vị cứu tinh của chúng ta, giúp bạn hoàn thành câu lệnh về mặt ngữ pháp nhưng không thực hiện bất cứ điều gì trong chương trình.

Sự khác biết giữa lệnh continue và lệnh pass trong python.

Sự khác biệt lớn nhất giữa lệnh continue và lệnh pass trong python, đó chính là lệnh continue bỏ qua lượt lặp hiện tại để bắt đầu lượt lặp mới trong vòng lặp, còn lệnh pass thì chỉ có nghĩa không có gì xảy ra cả và sẽ tiếp tục vòng lặp hiện tại.

Ví dụ trong vòng lặp sau, các lệnh sau lệnh continue trong lượt lặp hiện tại đều được bỏ qua:

for i in range(3):
print(i)
if i == 1:
continue
print('CONTINUE')
# 0
# 1
# 2

Trong khi đó, lệnh pass chỉ có ý nghĩa là không có gì xảy ra cả nên các lệnh trong lượt lặp hiện tại đều được tiếp tục thực thi như sau:

for i in range(3):
print(i)
if i == 1:
pass
print('PASS')
# 0
# 1
# PASS
# 2

Cách dùng lệnh pass trong python

Chúng ta có thể sử dụng lệnh pass trong python để giải quyết một số việc sau đây:

  • Tạo hàm trống hoặc class trống
  • Tạo file rỗng
  • Xử lý lệnh điều kiện mà không làm gì
  • Bỏ qua xử lý ngoại lệ

Tạo hàm hoặc class trống bằng lệnh pass

Trong python, khi bạn khai báo hàm hoặc class, bạn bắt buộc phải viết nội dung các câu lệnh vào trong khối lệnh, nếu không lỗi SyntaxError sẽ bị trả về.

def empty_func():

>>> File "Main.py", line 1
>>> def empty_func()
^
>>>SyntaxError: invalid syntax

Trong một số trường hợp khi bạn chỉ muốn khai báo một hàm hoặc một class trước rồi sau đó mới tiến hành viết lệnh chi tiết, hãy sử dụng lệnh pass để hoàn thành cú pháp và giữ chỗ cho các lệnh sau này.

Ví dụ, chúng ta tạo một hàm trống trong python như sau, và lỗi cú pháp sẽ không bị xảy ra.

def empty_func():
pass

Tương tự với class, chúng ta cũng có thể khai báo một class trống và giữ chỗ các câu lệnh sẽ viết vào sau này bằng lệnh pass như sau:

class EmptyClass():
pass

Tạo file rỗng bằng lệnh pass

Trong bài tạo file trong python chúng ta đã biết cách mở một file mới trong python bằng câu lệnh with và hàm open() với mode w rồi.

Thông thường sau khi tạo file mới, chúng ta sẽ ghi nội dung vào file v.v.v trước khi đóng file này lại. Tuy nhiên trong trường hợp bạn chỉ cần tạo một file rỗng, hãy sử dụng thêm lệnh pass như ví dụ sau đây:

with open('user/empty.txt', 'w'):
pass

Bạn cũng có thể viết ngắn gọn trên một dòng với cách như sau:

with open('user/empty.txt', 'w'): pass

Tạo lệnh điều kiện không làm gì cả

Trong các khối lệnh điều kiện if, if else hay elif, chúng ta bắt buộc phải ghi các câu lệnh vào trong khối lệnh tương ứng và không được để trống.
Tuy nhiên trong một số trường hợp khi bạn không muốn làm gì cả khi điều kiện trở nên True, hãy sử dụng tới lệnh pass.
Ví dụ:

a = 3
if a % 2 == 0:
print('Số chẵn')
else:
pass

Trong câu lệnh trên, nếu a không phải là số chẵn thì cũng không có điều gì xảy ra cả.

Bỏ qua xử lý ngoại lệ với lệnh pass

Trong Python, nếu một lỗi xảy ra khi khi chạy chương trình, một thông báo lỗi sẽ xuất hiện tại thời điểm đó và chương trình sẽ bị dừng lại tại đó. Ví dụ:

def add(a, b):
print(a + b)

add("x", 1)
print("done")
# TypeError: can only concatenate str (not "int") to str

Để kiểm tra nội dung lỗi đã xảy ra, chúng ta có thể sử dụng tới xử lý ngoại lệ với lệnh Try except và lấy nội dung lỗi như sau:

def add(a, b):
try:
print(a + b)
except Exception as e:
print('ZeroDivisionError: ', e)

add("x", 1)
print("done")
# TypeError: can only concatenate str (not "int") to str

Tuy nhiên trong một số trường hợp, bạn muốn chương trình tiếp tục chạy kể cả lỗi có xảy ra. Khi đó chúng ta cần bỏ qua các xử lý ngoại lệ này bằng cách sử dụng tới lệnh pass trong câu lệnh try except như sau:

def add(a, b):
try:
print(a + b)
except Exception as e:
pass

add("x", 1)
print("done")

#> done

Khi đó kể cả khi lỗi xảy ra thì chương trình cũng sẽ không bị gián đoạn tại vị trí đó mà tiếp tục thực thi các câu lệnh tiếp theo.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách dùng lệnh pass trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.