標籤:分隔字元 split alt 函數返回 分享 bsp lis lambda函數 log
函數主要是為了代碼複用。
函數分為兩種:系統庫預定義函數,自訂函數。
函數格式:
def functionName():
statement
函數調用:
funtionName()
函數的參數:形參和實參
形式參數:在定義函數的時候的參數列表裡的參數,簡稱形參。
實際參數: 在調用函數的時候的參數列表裡的參數,簡稱實參。
實參和形參是一一對應的。
預設參數: 在定義函數的時候,給形參賦初始值。
預設參數要注意參數順序。預設參數一般都是在後面部分。
函數的變數
全域變數和局部變數
局部變數:在函數體內定義的變數。只能在函數體內使用,不允許函數體外使用。
全域變數:在函數體外定義的變數。既可以在函數體內也可以在函數體外使用。
如果全域變數和局部變數同名的時候:
在函數內部使用的是函數體內的局部變數。
如果在函數體外使用的時候,使用的全域變數。
在函數體內定義一個全域變數:
global y
y=200
函數傳回值:
函數必須有傳回值。有三種情況 :
1.return a
2.return ;預設返回None
3預設情況。預設返回一個None.
函數的冗餘參數:
多類型傳值和傳值冗餘。
多類型傳值:
傳遞元組: f(*t)
傳遞字典:f(**t)
key 和函數的形參要保持名稱一致。
傳值冗餘:
向函數傳遞多餘的實參:
def function(x,*args):
print x
print args
---傳遞元組
def function(y="a", **args):
print y
print args
---傳遞字典
def f(x,*args, **kwargs):
print x
print args
print kwargs
---傳遞元組和字典
lambda函數:
匿名函數:快速定義單行的最小函數。
def f(x,y):
return x*y
對應的lambda運算式:
g=lambda: x,y: x*y
g(2,3)
lambda的基礎:
分號前面的是參數,多個參數之間用逗號分割。冒號右邊的傳回值。
switch語句:
在python中沒有switch關鍵字。需要藉助字典來實現。
內建函數:
絕對值abs,最小值min,最大值max
len(), divmod(),pow(),round()
callable() ,isinstance(),cmp(),rang(),xrang()
type(),int(), long(),list(),complex()...
字串內建函數:(下面的str代表str對象)
str.capitalize() :首字母大寫
str.replace(sourceStr, destStr[,count]):把sourStr替換成destStr
str.split(分隔字元,最大切割次數n) : 把str用分隔字元分割,最多切成n塊。
string 模組import後,可以使用string.replace(s,old,new,n)
filter(function,sequence), zip(),map(),reduce(): 這filter,map,reduce函數的第一個參數都是function.
注意區分zip和map,對與不同長度的list的處理結果不同。
zip按照最小處理。map會把空的補上None。
python學習筆記2---函數