五分鐘瞭解Python中的函式
函式:函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的程式碼段。
函式的定義
定是函式使用def關鍵字
def myfunc(x): if x >= 0: return x else: return -x
空函式
def emptyfunc(): pass
引數檢查
def checkfunc(x): if not isinstance(x,(int,float)): raise TypeError("must be int or float type!") if x >= 0: return x else: return -x
返回多個值
def price(x): apple=x*2 banana=x*2.5 return apple,banana a,b=price(1)
函式的引數
必選引數parameter
def printdetail1(name,age,telephone): print("姓名:",name) print("年齡:",age) print("電話:",telephone) printdetail1("Jack",12,12356435678)
預設引數parameter=value
def printdetail2(name,age,telephone,gender='fale'): print("姓名:",name) print("性別:",gender) print("年齡:",age) print("電話:",telephone) printdetail2("Jack",12,12356435678,gender='female')
可變引數*
1.不定長傳參
def fun1(*number): for i in number: print(i)fun1(1,2,3,4,5,6,7,8)
2.元組和列表的壓包
def fun2(*number): s=0 for i in number: s+=i print(s) fun2(*[1,2,3,4,5]) fun2(*(1,2,3,4,5))
關鍵引數**
使用方法一
def fun(id,name,**kargs): print("id:",id) print("name:",name) print("others:",kargs) fun(2,"xiaohua",sex="man",age='12')
使用方法二
extra={'sex': 'man', 'age': 12} def fun(id,name,**kargs): print("id:",id) print("name:",name) print("others:",kargs) fun(2,"xiaohua",sex=extra['sex'],age=extra['age'])
使用方法三
extra={'sex': 'man', 'age': 12} def fun(id,name,**kargs): print("id:",id) print("name:",name) print("others:",kargs) fun(2,"xiaohua",**extra)
關鍵字引數*
def fun(name,age,*,city,job,completion): print("name:",name) print("age:",age) print("city:",city) print("job:",job) print("completion:",completion) fun('Jack',12,city='shanghai',job='teacher',completion=True)
命名關鍵字引數需要一個特殊分隔符*,後面的引數被視為命名關鍵字引數
如果函式定義中已經有了一個可變引數,後面跟著的命名關鍵字引數就不再需要一個特殊分隔符*了
引數組合
def fun(parameter,*args,keyparameter,**kargs): print(parameter) print(args) print(keyparameter) print(kargs) fun(1,*(1,2,3,4),keyparameter=True,**{'id':2})
引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數
函式的遞迴
#階乘計算 def fact(n): if n == 1: return 1 return n * fact(n-1)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4548/viewspace-2837126/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2 分鐘,瞭解 4 個極為有用的 MetricsQL 函式SQL函式
- Python中的函式詳解Python函式
- stl中的sort函式,你真的瞭解嗎函式
- 對函式的初步瞭解函式
- Python中Numpy函式詳解Python函式
- python: python3.0中的函式註解Python函式
- 瞭解ES6中的模板字串的標籤函式字串函式
- Python培訓:Python有哪些函式?你瞭解幾種?Python函式
- python 中求和函式 sum詳解Python函式
- 兩分鐘瞭解Java中volatile!Java
- async函式,瞭解一下函式
- python(python中的super函式、)Python函式
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- Python中enumerate函式用法詳解Python函式
- 1分鐘掌握 Python 函式引數Python函式
- Python hasattr() 函式 // python中hasattr()、getattr()、setattr()函式的使用Python函式
- 10分鐘瞭解分散式CAP、BASE理論分散式
- 瞭解 JavaScript 函數語言程式設計 - 宣告式函式JavaScript函數程式設計函式
- 帶您瞭解mysql CONCAT()函式MySql函式
- SQL--瞭解DUMP函式(轉載)SQL函式
- 『無為則無心』Python函式 — 25、Python中的函式Python函式
- Python中的56個內建函式詳解(七)Python函式
- 理解Python中的Lambda函式Python函式
- Python中的main函式解析PythonAI函式
- python中zip()函式的用法Python函式
- python中的閉包函式Python函式
- python中的“__init__”函式Python函式
- Python中的匿名函式-lambdaPython函式
- python中的回撥函式Python函式
- 2分鐘瞭解Python的5種傳參姿勢Python
- TypeScript中的函式詳解TypeScript函式
- Python中的split()函式的用法Python函式
- C#中解構函式,Close函式,Dispose函式的區別C#函式
- alarm() (鬧鐘函式)函式
- 瞭解Linux的時鐘(轉)Linux
- 深入瞭解PBKDF2:密碼學中的關鍵推導函式密碼學函式
- Python中eval函式的表示式如何使用Python函式
- 三分鐘瞭解沉浸式投影的組成及應用