我有一個非常簡單,也許愚蠢的問題:爲什麼在使用函數定義函數後能夠定義一個變量?
爲什麼這樣嗎?
def print_list():
for student in student_list:
print(student)
student_list = ["Simon", "Mal", "River", "Zoe", "Jane", "Kaylee", "Hoban"]
print_list()
的方式我已經認識到的功能和參數,功能print_list()
不應該承認student_list
,因爲我沒有將其指定爲函數的參數。
感謝大家給出的真正令人印象深刻的和翔實的答案。我會更多地閱讀全球範圍,儘管我從你的定義中瞭解它。但我不確定我是否完全同意我的問題編輯。我完全理解,在序列或代碼執行過程中,列表分配發生在函數被調用之前,因此對我而言,由於Python知道在全局範圍內尋找變量,所以它可以使用代碼中定義的內容。 – Vortex