Tôi đang tìm mã để quay con trỏ trong thiết bị đầu cuối và tìm thấy điều này. Tôi đã tự hỏi điều gì đã xảy ra trong đoạn mã. Cụ thể là for c in spinning_cursor():
Tôi chưa từng thấy cú pháp này. Có phải vì tôi đang trả lại một phần tử từ một trình tạo tại một thời điểm với yield
và điều này được gán cho c? Bất kỳ ví dụ khác về điều này cho x trong y() sử dụng?cho x trong y(): làm thế nào để làm việc này?
import sys
import time
def spinning_cursor():
cursor='/-\|'
i = 0
while 1:
yield cursor[i]
i = (i + 1) % len(cursor)
for c in spinning_cursor():
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.1)
sys.stdout.write('\b')
Ví dụ khác? cho i trong phạm vi (10): in (i) – antoyo
bạn có thể tìm thấy mọi thứ chỉ ở đây: http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained – pylover
Một ví dụ khác về cách hiệu suất hoạt động với một chức năng ở đây ... Tôi không cần một ví dụ bây giờ mà tôi hiểu. Ngoài ra, cảm ơn @pylover – Paul