參數(shù)類型
必選參數(shù)
默認參數(shù)
可變參數(shù)
關(guān)鍵字參數(shù)
代碼:
結(jié)果:a=1?? b=2? c=(3,4) d={‘name’:‘haha’预愤,‘a(chǎn)ge’:18}
運行結(jié)果:
代碼:
運行結(jié)果:
二墓陈、變量作用域介紹
一個程序的所有的變量并不是在哪個位置都可以訪問的拆又。訪問權(quán)限決定于這個變量是在哪里賦值的偏窝。
變量的作用域決定了在哪一部分程序你可以訪問哪個特定的變量名稱。兩種最基本的變量作用域如下:
全局變量
1梁钾、如果一個變量绳泉,既能在一個函數(shù)中使用,也能在其他的函數(shù)中使用姆泻,這樣的變量就是全局變量
2零酪、如果要再函數(shù)中修改全局變量,使用global聲明
局部變量:
局部變量拇勃,就是在函數(shù)內(nèi)部定義的變量四苇。還有參數(shù)也是局部變量。
不同的函數(shù)潜秋,可以定義相同的名字的局部變量蛔琅,但是各用個的不會產(chǎn)生影響
局部變量的作用,為了臨時保存數(shù)據(jù)需要在函數(shù)中定義變量來進行存儲峻呛,這就是它的作用
全局和局部變量重名
如果全局變量的名字和局部變量的名字相同罗售,那么使用的是局部變量。
代碼:
運行結(jié)果:
小結(jié):
在函數(shù)外邊定義的變量?? 和? 用global聲明的叫做全局變量
全局變量能夠在所以的函數(shù)中進行訪問
如果在函數(shù)中修改全局變量钩述,那么就需要使用global進行聲明
如果全局變量的名字和局部變量的名字相同寨躁,那么使用的是局部變量的,
小技巧強龍不壓地頭蛇牙勘。
遞歸函數(shù):
如果一個函數(shù)在內(nèi)部不調(diào)用其它的函數(shù)职恳,而是自己本身的話,這個函數(shù)就是遞歸函數(shù)方面。
滿足遞歸的條件:
有循環(huán)的內(nèi)容
有跳出的條件
遞歸默認是有遞歸深度要求的放钦。
例子:1 1 2 3 5 8 13 21 34 55 .......斐波那契數(shù)列
匿名函數(shù):
用lambda關(guān)鍵詞能創(chuàng)建小型匿名函數(shù)。這種函數(shù)得名于省略了用def聲明函數(shù)的標準步驟恭金。
lambda函數(shù)的語法只包含一個語句操禀,如下:
lambda [arg1 [,arg2,.....argn]]:expression
注意:
Lambda函數(shù)能接收任何數(shù)量的參數(shù)但只能返回一個表達式的值
格式:lambda a,b: a+b
匿名函數(shù):
例子:
代碼:
運行結(jié)果:
代碼:
運行結(jié)果:
sorted例子:
這里面的? x?? 就是??? ls???? 中的?? 一個值,相當于遍歷了ls這個列表横腿。