函數的創建與執行過程 1、當兩個函數名都一樣時,下麵調用函數則會按照最後一個函數體進行調用。2、第一個函數則會變成垃圾記憶體,被python內部的垃圾清理機制給清除掉。3、執行過程如下圖: 函數的參數在傳遞的時候,傳遞的是引用,還是一個值?(答案:引用) 函數在傳參是,引用與傳值的區別: 1、在函數傳 ...
函數的創建與執行過程
1、當兩個函數名都一樣時,下麵調用函數則會按照最後一個函數體進行調用。
2、第一個函數則會變成垃圾記憶體,被python內部的垃圾清理機制給清除掉。
3、執行過程如下圖:
函數的參數在傳遞的時候,傳遞的是引用,還是一個值?(答案:引用)
函數在傳參是,引用與傳值的區別:
1、在函數傳參數的時候,如果傳的重新複製一份新值的話,則列印的時候,a1在做append的時候是不會產生999的。
2、在函數傳參數的時候,如果傳的是引用的話,則是列印的時候,li在做append的時候是會產生999的。
局部變數、全局變數、作用域
1、函數體裡面的變數,只能在本函數體內進行引用,其他函數體不能調用,則能引用的函數體,稱作用域。 2、該函數體裡面的變數,稱作局部變數。 3、沒有寫在函數體里的變數,在所有的作用域里都可讀,稱全局變數。 4、局部變數和全局變數重覆時,局部變數優先全局變數。(局部沒有會調用全局) 5、局部變數可以通過添加 “ gloabl 變數名 ” 去替換全局變數名。(對全局變數進行重新賦值,需要用global,切記勿用) 6、特殊:列表,字典,可以修改,不可以重新賦值。 7、潛規則:所有的全局變數都是大寫,避免誤操作。
函數代碼的規範
1 NAME 2 3 4 def xx 5 ''' 6 註釋 7 ''' 8 函數體 9 return 10 11 12 def xx 13 ''' 14 註釋 15 ''' 16 函數體 17 return 18 19 20 def xx 21 ''' 22 註釋 23 ''' 24 函數體 25 return 26 27 28 def main() #最後定義一個主函數 29 ''' 30 註釋 31 ''' 32 函數體 33 return 34 35 36 37 main() 38 39 40 執行文件的時候: 41 ./a.py