Python中如何調(diào)用自己寫的函數(shù)?
函數(shù)調(diào)用著眼于函數(shù)體自頂向下操作函數(shù)。
調(diào)用是運(yùn)行函數(shù)代碼的。
調(diào)用時(shí)給出實(shí)際參數(shù)。
實(shí)際參數(shù)替換定義中的參數(shù)。
函數(shù)調(diào)用后獲取返回值。
c語言中編寫程序,輸入2個數(shù),定義四個函數(shù),分別實(shí)現(xiàn)加減乘除四則運(yùn)算,要使用函數(shù)。計(jì)算除法時(shí)要判斷?
1.用python語言打開命令窗口,定義函數(shù)com_result,傳入三個參數(shù)x,y,func。
2.定義一個變量結(jié)果,然后調(diào)用第一步中的函數(shù),使用lambda表達(dá)式。
3.使用相同的方法,調(diào)用函數(shù)com_r
python如何定義函數(shù)?
首先,定義一個最簡單的函數(shù)
Def用于函數(shù)定義,必須有函數(shù)名和函數(shù)體。下圖中,函數(shù)名為sayHello,函數(shù)體為打印語句。函數(shù)只有被調(diào)用才會被執(zhí)行,函數(shù)名以圓括號的形式調(diào)用,即sayHello()。
二、函數(shù)的參數(shù)
1.位置參數(shù)
Position參數(shù)是必需的,如果在調(diào)用函數(shù)時(shí)沒有傳遞,將會給出錯誤。
我們寫一個簡單的函數(shù)來實(shí)現(xiàn)計(jì)算乘法的功能。下圖中的a和b是位置參數(shù)。
a和b稱為形參,即形式參數(shù)。調(diào)用函數(shù)calc時(shí),傳遞的7和8稱為實(shí)參,即實(shí)際參數(shù)。
我們可以看到,在傳遞參數(shù)時(shí),7傳遞給A,8傳遞給b,也就是說,傳遞參數(shù)的順序不能錯。然后,當(dāng)參數(shù)很多的時(shí)候,很難準(zhǔn)確記住每個參數(shù)的位置,很容易出錯。您可以以形式參數(shù)和真實(shí)參數(shù)的形式傳遞參數(shù)。
例如,操作數(shù)據(jù)庫的函數(shù)。參數(shù)傳遞順序不對,采用端口3306,非常適合多參數(shù)函數(shù)。
d:打印(連接數(shù)據(jù)庫:%s,主機(jī):%s,端口:%s%(數(shù)據(jù)庫,主機(jī),端口))打印(%s,其中用戶名%s和密碼%s%(SQL,用戶名,密碼))op_MySQL(SQLselect*from用戶,主機(jī)192.158.11.1,usernamesdfss,passwordsdf123,dbtest_data,端口3306)按如下運(yùn)行:
2.默認(rèn)值參數(shù)
如果未填寫默認(rèn)值參數(shù),則該參數(shù)不是必需的。,將采用默認(rèn)值。
例子:寫一個函數(shù),實(shí)現(xiàn)讀寫文件的功能。
#函數(shù)來操作文件。如果傳遞了content參數(shù),相應(yīng)的內(nèi)容將被寫入文件。讀取文件的原始內(nèi)容,而不傳輸內(nèi)容。defop_file(file_name,cont:fopen(file_name,a,編碼utf-8)(0)如果cont:#不為空,表示寫f.write(cont:R:字符串if(。)1:離開了s(。)[0]#十進(jìn)制左右s拆分(。)[1]#Decimalrightif()和():返回tru:返回tru:返回Fals:返回FalseNum輸入(請輸入:)resis_float(num)print(res)3.參數(shù)組。
參數(shù)組的參數(shù)用"*args"。參數(shù)組特性:(1)不需要參數(shù);(2)沒有。限制參數(shù)的數(shù)量;(3)將傳遞的參數(shù)放入args參數(shù)中,沒有任何格式。
如果函數(shù)定義為defaaa(a,*args),那么a是必需的參數(shù),而*args不是必需的。
4.關(guān)鍵字參數(shù)
關(guān)鍵字參數(shù)用"**kwargs"。特點(diǎn):(1)不需要參數(shù);(2)參數(shù)個數(shù)沒有限制;(3)傳遞的參數(shù)必須是字典格式。
同樣,如果defaaa(time,**kwargs),則必須傳遞時(shí)間參數(shù)。其中time20180912是第一個參數(shù)time的值,所以沒有輸出kwargs的時(shí)間。
第三,局部變量和全局變量
1.局部變量
函數(shù)中定義的變量都是局部變量,只能在函數(shù)中使用,不能在函數(shù)外使用。
例如,在第二個練習(xí)中,left和right是局部變量,以確定它們是否是小數(shù)的函數(shù)。
2.全局變量
全局變量是公共變量,可以被所有人使用。一般不建議使用全局變量,因?yàn)樗鼈冇幸韵聝蓚€缺點(diǎn):(1)不安全,因?yàn)槊總€人都可以更改它們;(2)會一直占用內(nèi)存。
要修改一個全局變量,需要先聲明它,并用global聲明。
下圖中,name是一個全局變量,需要在修改前聲明:全局名稱。
第四,內(nèi)置功能
內(nèi)置函數(shù)是python自帶的一些函數(shù),有很多,比如:
動詞(verb的縮寫)遞歸
遞歸意味著函數(shù)調(diào)用自己。
建議少用遞歸,因?yàn)檫f歸效率低,最多遞歸999次。遞歸次數(shù)的上限可以通過下面的函數(shù)直觀地看到。
第六,函數(shù)的返回值
回歸之前已經(jīng)簡單介紹過了。return有兩個作用:(1)調(diào)用函數(shù)后返回結(jié)果;(2)當(dāng)函數(shù)中遇到return時(shí),立即結(jié)束。
有些函數(shù)有多個返回值。如果函數(shù)返回多個值,它會將這些值放入一個元組中。此外,它還可以接收多個值。
示例:
七、匿名功能
匿名功能的作用很簡單,只用一次。匿名函數(shù)定義如下。
用lambda定義一個匿名函數(shù),返回值在冒號前面,函數(shù)體在后面,這是函數(shù)的處理邏輯。
也就是輸入?yún)?shù)是x,然后執(zhí)行x1返回x的值。
——河南新華。