1.函數定義: #注意:第二行書寫時,光標不用向前移動python
def my_abs(x):函數
if x >= 0:spa
return xcode
else:對象
return -x遞歸
2.在文件中定義過函數以後,在另外一個文件中引入可用: from abstest import my_abs 便可ci
3.空函數爲pass,做用爲保證代碼能夠運行string
4.在自定義參數時,要考慮到參數類型的問題,所以須要咱們手動完善it
def my_abs(x):io
if not isinstance(x,(int,float)):
raise TypeErrot('bad operand type')
if x >= 0:
return x
else:
return -x
5.函數返回多個值時,其實返回的是一個tuple(元組)
6.一個函數定義多個參數時,能夠將用不到的參數設置爲默認值
#定義默認參數時,默認參數必須指向不變對象
def enroll(name, gender, age=6, city='Beijing'): print('name:', name) print('gender:', gender) print('age:', age) print('city:', city)
7.使用關鍵字參數定義函數
def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)
person('Michael', 30) name: Michael age: 30 other: {}
person('Bob', 35, city='Beijing') name: Bob age: 35 other: {'city': 'Beijing'}
8.使用命名關鍵字參數,非必選參數爲*後面的值
def person(name, age, *, city, job): print(name, age, city, job)
person('Jack', 24, city='Beijing', job='Engineer') Jack 24 Beijing Engineer
9.參數定義順序:必選參數、默認參數、可變參數、命名關鍵字參數、關鍵字參數
10.階乘函數用fact(n)函數來表示
11.尾遞歸:在函數返回時,調用自身自己,而且,return語句不能包含表達式。