Goto trong Python w3schools
Mô tả dự ánđảm bảo bạn đang sử dụng python 3. 9 Show
GHI CHÚ. hỗ trợ cho trăn> = 3. 10 rất không ổn định, vui lòng chạy thử trước khi sử dụng một ví dụ đơn giản from goto import with_goto from goto import goto, label # optional, for linter purpose @with_goto def x(): goto .end print("this will not print") label .end print("this will print")
@with_goto def x(): try: pass finally: label .a ở đây chúng tôi xác định nhãn "a" một lần. nhưng nếu bạn chạy mã SyntaxError: ambiguous label name: 'a'. at line 10 nó không phải là một lỗi, nhưng tại sao nó? hãy cố gắng tháo rời mã mà không sửa đổi nó
bởi vì khối dự án này được lấy cảm hứng từ snoack/python-goto Lưu ý rằng from goto import with_goto @with_goto def range(start, stop): i = start result = [] label .begin if i == stop: goto .end result.append(i) i += 1 goto .begin label .end return result0. Nhưng vì đó là cú pháp hợp lệ nên hàm có thể được phân tích cú pháp và dẫn đến mã byte sau
Trình trang trí from goto import with_goto @with_goto def range(start, stop): i = start result = [] label .begin if i == stop: goto .end result.append(i) i += 1 goto .begin label .end return result1 sau đó loại bỏ mã byte tương ứng đã được tạo để tra cứu thuộc tính của các biến label và goto , đồng thời đưa vào một lệnh from goto import with_goto @with_goto def range(start, stop): i = start result = [] label .begin if i == stop: goto .end result.append(i) i += 1 goto .begin label .end return result4 cho mỗi biến goto
thực hiện thay thếÝ tưởng về Mặc dù điều này giúp loại bỏ sự cần thiết của trình trang trí, nhưng nó đi kèm với chi phí thời gian chạy đáng kể và triển khai phức tạp hơn. Mặt khác, việc sửa đổi mã byte khá đơn giản và không thêm chi phí khi thực thi chức năng Làm cách nào để sử dụng goto trong Python w3schools?# Ví dụ 1. Thoát ra khỏi một vòng lặp lồng sâu. từ goto nhập goto, nhãn cho tôi trong phạm vi (1, 10). cho j trong phạm vi (1, 20). cho k trong phạm vi (1, 30). in i, j, k nếu k == 3. đi đến. nhãn kết thúc. end print "Finished\n" # Ví dụ 2. Khởi động lại một vòng lặp. từ goto nhập goto, nhãn nhãn.
Có tùy chọn goto trong Python không?Có, không có câu lệnh goto nào trong Python . Trước tiên chúng ta hãy hiểu goto trong ngôn ngữ C là gì. Tuy nhiên, việc sử dụng goto cũng không được khuyến khích trong C. |