day18 函數定義、參數;名稱空間;全局變量及局部變量。
阿新 • • 發佈:2017-06-13
意思 加載 **kwargs 方式 nbsp span 接收 none 默認
Python之路,Day6 = Python基礎6
函數的定義
def func1(): # 定義一個函數,名字叫func1,括號中沒有傳入參數 print(‘hello word‘) # 這裏是 func1 的內容,可以定義為任意代碼 return 1 # return 是返回的意思,後面是返回值,調用時可以用參數接收,返回值的內容可以為任意形式 # python執行的時候只會檢查函數裏面是否有語法問題,沒有的話,過。。。 # 函數中可以有多個return, 但是執行到return時,函數停止執行,並返回結果,也就是說,每個函數只會有一個返回值# 每個函數都有返回值,如果不寫,默認為 None 。
函數的參數
# 第一種情況 def func1(x, y, z): # 這個函數需要你在使用它的時候傳入三個參數 print(x, y, z) func1(1,2,3) # 這種調用時傳入的參數需要與上面值為一一對應。 結果:1, 2, 3 func1(z = 3, y = 2, x = 1) # 這種調用方式已經指定了各個參數分別對應給誰,所以可以不必一一對應位置。 結果:1, 2, 3 # 第二種情況 def func2(x=1, y=2, z=3): # 這個函數在你使用的時候,不是必需傳入參數,如果不傳入參數的話,那麽默認為後面所賦值的內容。print(x, y, z) func2() 結果:1, 2, 3 func2(5, 6, 7) 結果:5, 6, 7 # 第三種情況 def func2(x,y,z=3): # 兩種方式可以合並使用,但是由默認賦值的參數,必需放在最後 pass # 第四種情況 def func3(*args): # 當我們不知道需要傳入多少個參數(1,2,3,4,5)的時候,可以一用 *args 作為參數,這個意思是,把所有的傳入的值(所有只傳值)作為一個元組保存在 args 中; pass #第五種情況 def func3(**args): # 當我們不知道需要傳入多少個參數(x=1,y=2)的時候,可以一用 **kwargs 作為參數,這個意思是,把所有的傳入的值(所有只傳值)作為一個字典保存在 **kwargs 中; pass
名稱空間
內置名稱空間
系統自帶:如,系統定義好的變量名、函數名、類名等。
全局名稱空間
自定義的全局的:如,自定義好的變量名、函數名、類名等但他們所定義的位置不應該屬於其他的類或方法中。
局部名稱空間
自定義的局部的:如,自定義好的變量名、函數名、類名
註:三者的加載順序,內置名稱空間、全局名稱空間、局部名稱空間
全局變量及局部變量
全局變量:內置名稱 + 全局名稱
作用域:作用與整個文件
局部變量:局部名稱
作用域:作用與當前的位置(類或方法等)及包含的子程序(位置或方法等)
day18 函數定義、參數;名稱空間;全局變量及局部變量。