自定義函數: def 名字(參數):python
函數體 app
返回值函數
再調用就行ui
pass函數就爲空spa
pass
還能夠用在其餘語句裏,好比:設計
if age >= 18: pass
缺乏了pass
,代碼運行就會有語法錯誤。code
數據類型檢查能夠用內置函數isinstance
對象
設置p(a,x):返回多個參數 return x, yci
設計str、None這樣的不變對象string
咱們能夠用None
這個不變對象來實現:
def add_end(L=None): if L is None: L = [] L.append('END') return L
做爲一個list或tuple傳進來
因爲參數個數不肯定,咱們首先想到能夠把a,b,c……做爲一個list或tuple傳進來,這樣,函數能夠定義以下:
def calc(numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
做爲一個可變參數:只須要加一個*號
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
有一個list或者tuple,要調用一個可變參數怎麼辦?能夠這樣作:
nums = [1, 2, 3] calc(nums[0], nums[1], nums[2])
因此Python容許你在list或tuple前面加一個*
號,把list或tuple的元素變成可變參數傳進去:
nums = [1, 2, 3] calc(*nums)
def person(name, age, **kw): print 'name:', name, 'age:', age, 'other:', kw
關鍵字參數** 必需要有等於號才能賦值。>>> person('Bob', 35, city='Beijing') name: Bob age: 35 other: {'city': 'Beijing'} >>> person('Adam', 45, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
*args
是可變參數,args接收的是一個tuple;
**kw
是關鍵字參數,kw接收的是一個dict。