如果我有代碼...哪些是「X」的技術術語「爲X ...」
list = ['Clemont', 'Albert', 'Shiro']
for x in range(len(list)):
print(x)
...你會爲x
技術術語在這裏?我假設它是「迭代對象」,但也許這是一種誤解;如果這不是一個誤解,什麼是迭代對象?
如果我有代碼...哪些是「X」的技術術語「爲X ...」
list = ['Clemont', 'Albert', 'Shiro']
for x in range(len(list)):
print(x)
...你會爲x
技術術語在這裏?我假設它是「迭代對象」,但也許這是一種誤解;如果這不是一個誤解,什麼是迭代對象?
「循環變量」和技術一樣。
自從正式名稱以來沒有任何正式名稱,它與任務說明的左手側沒有任何區別;同樣的規則適用於「循環」變量,就像他們爲賦值目標所做的一樣。
在任何其他Python開發人員中調用它的「循環變量」會讓你明白你的觀點。
至於「什麼是迭代對象?」,你可能錯誤地認爲可迭代或迭代器這是for循環所要求的,以便它能夠正常工作,這些術語的良好分解已經存在in another StackOverflow question。
爲x
在這方面的正式名稱爲target
,通過Python的語言參考如圖所示:
for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
...定義爲target_list
(和target
):
target_list ::= target ("," target)* [","]
target ::= identifier
| "(" target_list ")"
| "[" target_list "]"
| attributeref
| subscription
| slicing
| "*" target
如果您想要知道目標實際上可以接受或定義爲什麼,感到鼓勵仔細閱讀文檔。按照最標準的含義,您使用某種簡單的標識符,如變量名稱(在這種情況下爲x
)來表示目標。
但是'target'這個詞在[任何舊作業](https://docs.python.org/3.3/reference/simple_stmts.html#assignment-statements)中都用於LHS,它並不特定於'for'循環。 –
@tobias_k:是的。這不是特定的任何事情。 *暗示*從語法的角度來看,沒有特殊的名稱。 – Makoto
我不同意;這隻意味着兩者都可以使用相同的語法。在與他人討論時可能會使用更具體的術語,以使他們明白你在說什麼。 –
我不知道這是否適合您的一個「技術術語」的定義,但表達「循環變量」在相當多的PEP文件中使用,例如對於iterators和generators,儘管基本for
循環本身似乎沒有PEP。
「循環變量」也許? –