Pass có kết thúc một chức năng trong Python không?

Vì vậy, trong bài đăng này, chúng ta đã biết cách sử dụng câu lệnh vượt qua bên trong chương trình Python mà không làm ảnh hưởng đến các phần khác của mã và cho phép trình thông dịch Python cũng thực thi mã chưa được triển khai

Các câu lệnh ngắt, vượt qua và tiếp tục được cung cấp trong Python để xử lý các trường hợp bạn cần thoát hoàn toàn vòng lặp khi một điều kiện bên ngoài được kích hoạt hoặc khi bạn muốn bỏ qua một phần của vòng lặp và bắt đầu lần lặp tiếp theo. Những câu lệnh này cũng có thể giúp bạn kiểm soát tốt hơn vòng lặp của mình

Phạm vi

  • Trong bài viết này, chúng ta sẽ tìm hiểu về câu lệnh break, pass và continue với cú pháp, trường hợp sử dụng và các ví dụ phù hợp
  • Chúng ta cũng sẽ xem xét chức năng của các câu lệnh ngắt, vượt qua và tiếp tục với sự trợ giúp của các biểu đồ và sơ đồ dòng chảy thích hợp

Tuyên bố ngắt trong Python

Python cung cấp cho chúng ta một tuyên bố mục đích cụ thể – break. Điều đáng chú ý là câu lệnh break chỉ có thể được sử dụng trong vòng lặp for và while. Khi chương trình gặp câu lệnh break, nó sẽ kết thúc vòng lặp ngay lập tức và các dòng mã được viết ngay sau phần thân của vòng lặp tiếp tục thực thi

Câu lệnh break sẽ khiến vòng lặp kết thúc ngay cả khi điều kiện của vòng lặp while ước tính là True hoặc trong trường hợp vòng lặp for. Nó sẽ khiến điều khiển của chương trình nhảy ra khỏi vòng lặp for ngay cả khi nó thỏa mãn điều kiện

Một ví dụ điển hình về thời điểm sử dụng câu lệnh ngắt là trong quá trình tìm kiếm tuần tự. Ví dụ: bạn đang tìm kiếm một phần tử trong danh sách các phần tử bằng cách sử dụng vòng lặp for. Bạn sẽ thêm vào một điều kiện so sánh, để kiểm tra xem phần tử có được tìm thấy hay không. Nếu phần tử được tìm thấy, thì bạn sẽ thoát khỏi vòng lặp mà không duyệt qua các phần tử còn lại

Dưới đây là sơ đồ về cách thức hoạt động của câu lệnh ngắt để giúp bạn hiểu rõ hơn

Cú pháp câu lệnh Break trong Python

Cú pháp khá đơn giản, bạn chỉ cần nhập từ khóa break khi muốn vòng lặp kết thúc. Hãy xem xét một số mã giả

Mã giả ở trên dành cho vòng lặp for.
Mã giả ở trên dành cho vòng lặp while.

Triển khai câu lệnh Break trong Python

Bây giờ chúng ta đã biết từ khóa break là gì, nó làm gì và cách sử dụng nó, chúng ta hãy xem thêm một số ví dụ

Giả sử chúng ta muốn viết một chương trình được thiết lập để in bảy mục đầu tiên trong danh sách, nhưng nếu nó gặp số '4', chúng ta cần thoát khỏi vòng lặp. Chúng ta có thể dễ dàng làm điều này bằng cách sử dụng câu lệnh break

Thí dụ

nums = [7, 2, 3, 1, 5, 4, 6, 8, 9]
count = 0
while count < 7:
  print[nums[count]]
  count += 1
  if nums[count] == 4:
    break
print["End"]

đầu ra

Giải trình

Bây giờ trong chương trình này, chúng tôi đã thêm một điều kiện trong đó nếu chúng tôi gặp số 4, chúng tôi cần phải ngắt vòng lặp. Và vì chúng tôi gặp phải số 4, vòng lặp bị ngắt ngay lập tức

Nếu không có 4 thì sao?

Thí dụ

nums = [1, 2, 3, 5, 6, 7, 8, 9]
count = 0
while count < 7:
  print[nums[count]]
  count += 1
  if nums[count] == 4:
    break
print["End"]

đầu ra

Do chương trình không gặp con 4 nào nên điều khiển không nhảy ra khỏi vòng lặp, vòng lặp tiếp tục chạy

Nếu câu lệnh break được sử dụng trong một vòng lặp lồng nhau thì sao? . Nếu nó được sử dụng trong chính vòng lặp ngoài cùng, nó sẽ thoát khỏi vòng lặp và di chuyển trực tiếp đến bất kỳ câu lệnh nào được viết bên ngoài vòng lặp và tiếp tục thực hiện chương trình

Thí dụ

l1 = [1, 2, 3]
l2 = ['a', 'b', 'c']
for num in l1:
    for ch in l2:
        print[num, ch]
        if num == 2 and ch == 'b' :
            print['BREAK']
            break

đầu ra

Đó là tất cả cho câu lệnh break

Truyền câu lệnh trong Python

Bây giờ hãy nói về việc không làm gì trong Python. Có vẻ kỳ quặc? . Không làm gì cả, đó là một tuyên bố khá hữu ích. Cú pháp của câu lệnh pass cũng giống như câu lệnh break

Tại sao chúng tôi sử dụng Tuyên bố vượt qua?

Để không làm gì bên trong một khối mã, bạn có thể sử dụng câu lệnh pass

Thí dụ

if 1 + 2 == 3:
  print["Correct math"]
  pass
  print["This will also be printed."]

đầu ra

Correct math
This will also be printed.

Nhưng điều này không có vẻ hữu ích, phải không? . Tại sao cú pháp python có một câu lệnh yêu cầu trình thông dịch không làm gì cả?

Câu lệnh có thể được sử dụng để hoàn thành một vị trí trong một khối mã cần ít nhất 1 câu lệnh

Thí dụ

Bạn có đoạn mã này và bạn thực sự không biết tại thời điểm này, giá trị của a và b sẽ là bao nhiêu và bạn sẽ làm gì nếu điều kiện đánh giá là Đúng. Bạn muốn để trống phần thân, nhưng bạn không thể làm điều đó vì chỉ chạy đoạn mã này sẽ gây ra lỗi thụt đầu dòng cho bạn. Tại sao? . ], Python mong đợi một khối mã thụt vào, ngay cả khi đó là một dòng đơn hoặc một câu lệnh

Ở đây, chúng ta có thể sử dụng câu lệnh pass

Nhờ câu lệnh vượt qua, chúng tôi sẽ không nhận được bất kỳ lỗi nào

Có nhiều cách sử dụng câu lệnh vượt qua hơn, một số tạm thời và một số vĩnh viễn

Sử dụng tạm thời Tuyên bố vượt qua

Câu lệnh vượt qua có thể được sử dụng để điền mã ban đầu có thể được sử dụng trong tương lai. Nghe có vẻ ngớ ngẩn khi sử dụng câu lệnh pass trong các phần của mã mà sau này sẽ bị xóa, nhưng nó tỏ ra rất hữu ích trong giai đoạn phát triển ban đầu để phát triển nhanh hơn

Thí dụ

Giả sử bạn có một hàm để thực hiện một tác vụ gọi một hàm khác. Nhưng vấn đề ở đây là bạn không biết chức năng bạn đang gọi hoạt động như thế nào. Vì vậy, bạn sử dụng câu lệnh vượt qua

def fun1[args]:
  # some code
  fun2[]:
  # some more code
  return values
def fun2[args2]:
  pass    # TODO
  

Chức năng này, func2, hiện không làm bất cứ điều gì, nhưng nó cho phép bạn chạy và kiểm tra fun1 mà không có bất kỳ lỗi nào

Một trường hợp sử dụng khác cho câu lệnh pass là khi bạn chỉ muốn hiểu cấu trúc của mã trước khi đi vào phần phức tạp của nó

Thí dụ

Trong mã FizzBuzz [ một trò chơi mà bạn bắt đầu từ 1, đếm đến 100 và nói "Fizz", nếu số đó chia hết cho 3, "Buzz" nếu số đó chia hết cho 5 và "FizzBuzz" nếu số đó là

if num % 15:
  pass
elif num % 3 :
  pass
elif num % 5:
  pass
else:
  pass

Điều này giúp bạn hiểu cấu trúc của mã trước khi bạn đi vào câu lệnh if -elif để hoàn thành mã

Đây là một vài cách sử dụng tạm thời của câu lệnh pass. Nó cũng có các trường hợp sử dụng vĩnh viễn như

Trong python, chúng ta sử dụng khối try… except để xử lý lỗi. Đôi khi, bạn có thể không muốn làm gì khi gặp lỗi. Trong trường hợp đó, bạn có thể sử dụng câu lệnh vượt qua. Để tôi chỉ cho bạn một ví dụ

def ensure_nonexistence[filename]:
    try:
        os.remove[filename]
    except FileNotFoundError:
        pass

Hàm này ở trên xóa tệp được đề cập và không bị lỗi nếu tệp không tồn tại. Nếu tệp bạn muốn xóa không tồn tại, bạn không cần làm gì cả. Vì vậy, khi FileNotFoundError được nâng lên, bạn chỉ cần sử dụng câu lệnh vượt qua

2. Nếu… Chuỗi Elif

Giả sử trong một cuộc phỏng vấn, bạn được hỏi một câu hỏi FizzBuzz cơ bản, ngoại trừ một chút thay đổi. Nếu số đầu vào chia hết cho 3, hãy in Fizz. Nếu chia hết cho 5 thì in Buzz. Nếu chia hết cho 15 thì không in, nếu chia hết cho 20 thì in Twist

________số 8_______

Rõ ràng chúng ta có thể thấy rằng việc sử dụng câu lệnh pass cho phép bạn tránh phải cấu trúc lại logic. Bạn cũng có thể cấu trúc mã theo mô tả của nó

Continue cũng là một trong những câu lệnh điều khiển vòng lặp hữu ích trong python. Nó gần như ngược lại với câu lệnh break đã thảo luận ở trên. Break kết thúc vòng lặp và câu lệnh continue buộc chương trình thực hiện lần lặp tiếp theo của vòng lặp

Khi điều khiển chương trình gặp câu lệnh continue, đoạn mã sau câu lệnh continue [nếu có] sẽ bị bỏ qua và lần lặp tiếp theo của vòng lặp sẽ bắt đầu

Chúng ta có thể hiểu việc sử dụng câu lệnh continue với một ví dụ

for letter in 'python':
  if letter == 'o':
    continue
  print[letter]

Như chúng ta có thể thấy trong đoạn mã trên, đoạn mã sau câu lệnh continue không được thực thi, do đó bỏ qua câu lệnh in khi gặp chữ 'o'. Chúng tôi trực tiếp chuyển sang lần lặp tiếp theo của vòng lặp

Tất nhiên, đoạn mã trên có thể được viết theo nhiều cách khác mà không cần sử dụng câu lệnh continue. Hãy để chúng tôi hiểu tầm quan trọng của nó đối với khả năng đọc và cách nó giảm thời gian chạy tốn kém bằng một ví dụ

Bạn có hai danh sách, x và y. Bạn muốn zip [một hàm tạo ra một trình vòng lặp của một loạt các bộ dữ liệu] chúng và thực hiện một số hàm trên chúng tùy thuộc vào hai giá trị của a và b, thuộc về kết quả của zip

Đây là một số mã không có câu lệnh tiếp tục. Lưu ý cách nó trông ở khắp mọi nơi với các câu lệnh if lồng nhau, làm giảm khả năng đọc

nums = [1, 2, 3, 5, 6, 7, 8, 9]
count = 0
while count < 7:
  print[nums[count]]
  count += 1
  if nums[count] == 4:
    break
print["End"]
0

Bây giờ ở đây, các câu lệnh if lồng nhau có thể làm cho mã trông khó hiểu. Xem cách câu lệnh continue giúp làm cho mã này tốt hơn

Có vượt qua hàm thoát Python không?

Return thoát khỏi hàm hoặc phương thức hiện tại. Pass là một phép toán null và cho phép thực thi tiếp tục ở câu lệnh tiếp theo . Lưu câu trả lời này.

Pass có kết thúc một chức năng không?

pass là lệnh "trống", nhưng return dừng hàm / phương thức .

Điều gì kết thúc một chức năng trong Python?

Một câu lệnh trả về kết thúc một hàm một cách hiệu quả; .

Pass có kết thúc vòng lặp không?

Như chúng ta thấy trong kết quả ở trên, câu lệnh pass thực sự không làm gì giống như vòng lặp for và tất cả các câu lệnh bên trong nó đều được thực thi. Câu lệnh pass thường được sử dụng trong khi tạo một phương thức mà chúng tôi không muốn sử dụng ngay bây giờ. Nó thường được sử dụng làm trình giữ chỗ cho mã trong tương lai.

Chủ Đề