python函数定义与使用
什么是函數(shù)?
函數(shù)是一段具有特定功能的、可重用的語(yǔ)句組,是一種功能的抽象。一般函數(shù)表達(dá)特定功能。
它的一般表示形式為:
def <函數(shù)名>(參數(shù)):<函數(shù)體>return <返回值>注意:上面的參數(shù)可有可無(wú),但是我們括號(hào)一定得有。
示例:
def fact(n):s=1for i in range(1,n+1):s*=ireturn s print(fact(10))其中,上面的def … return 是函數(shù)的定義,后面的print(fact(10))是函數(shù)的調(diào)用
函數(shù)調(diào)用
函數(shù)調(diào)用是運(yùn)行函數(shù)代碼的方式
這里需要指明的地方是:調(diào)用的時(shí)候需要給出實(shí)際參數(shù),然后我們代碼運(yùn)行的時(shí)候,實(shí)際參數(shù)會(huì)v替代定義中的形式參數(shù),然后通過(guò)最后得到返回值。我們上面那個(gè)案例是將返回值輸出來(lái)了。
函數(shù)定義中的參數(shù),有一部分為可選參數(shù),一部分為非可選參數(shù)。函數(shù)定義時(shí)可以為某些參數(shù)指定默認(rèn)值,構(gòu)成可選函數(shù);我們可以這樣理解,函數(shù)定義的時(shí)候,有一部分參數(shù)是必須要有的,這一部分是不可選參數(shù),有一部分參數(shù)是可有可無(wú)的,這一部分是可選參數(shù)。為了區(qū)分,我們需要注意的是可選函數(shù)必須放在不可選函數(shù)的后面。
可變參數(shù)傳遞
函數(shù)定義的時(shí)候,可以設(shè)計(jì)不確定參數(shù)總數(shù)量,示例:
def <函數(shù)名>(參數(shù),*b): //b是指不確定參數(shù)總數(shù)量<函數(shù)體>return <返回值>示例:
''' Python學(xué)習(xí)交流,免費(fèi)公開課,免費(fèi)資料, 免費(fèi)答疑,系統(tǒng)學(xué)習(xí)加QQ群:579817333 ''' def fact(n,*a):s=1for i in range(1,n+1):s*=ifor item in a:s*=itemreturn s print(fact(10,3))參數(shù)傳遞的兩種方式
位置傳遞與名稱傳遞
函數(shù)的返回值
return 保留字用于傳遞返回值,函數(shù)可以有返回值,也可以沒(méi)有,返回值數(shù)量不定,甚至returrn 可有可無(wú),
函數(shù)的局部變量與全局變量
很好理解,局部變量就是在函數(shù)內(nèi)部有效的變量,全局變量就整個(gè)程序都有效。然后,我們需要注意的是:在程序中我們可以使用global 保留字在函數(shù)內(nèi)部使用全局變量:
示例:
''' Python學(xué)習(xí)交流,免費(fèi)公開課,免費(fèi)資料, 免費(fèi)答疑,系統(tǒng)學(xué)習(xí)加QQ群:579817333 ''' n,s=10,100 def fact(n):global s #此處s為全局變量for i in range(1,n+1):s*=ireturn s print(fact(n),s)除了使用global 保留字,在局部變量為組合數(shù)據(jù)類型且未創(chuàng)建,則等同于全局變量,如果它在函數(shù)內(nèi)部被創(chuàng)建了,那么它就是一個(gè)局部變量。
示例:
l=["F","f"] def fun(a):l.append(a)return fun("R") print(l) def func(b):l=[]l.append(b)return func("M") print(l)輸出結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的python函数定义与使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python中的代码复用与函数递归
- 下一篇: Python中列表和字符串的反转