新聞中心
在Python中使用字符串調(diào)用函數(shù)
已有字符串形式的函數(shù)名稱(chēng),那么如何調(diào)用這個(gè)函數(shù)呢?
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鎮(zhèn)寧企業(yè)網(wǎng)站建設(shè),鎮(zhèn)寧品牌網(wǎng)站建設(shè),網(wǎng)站定制,鎮(zhèn)寧網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,鎮(zhèn)寧網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
通過(guò)調(diào)用內(nèi)置函數(shù)locals()和globals()返回的字典對(duì)象,就可以可以獲得名稱(chēng)與對(duì)象的映射關(guān)系。其中,locals()僅在全局范圍內(nèi)調(diào)用時(shí)可以獲得函數(shù)對(duì)象。 我們來(lái)看以下的例子。
需要注意的是,使用上述方法通過(guò)字符串調(diào)用函數(shù)時(shí),為了系統(tǒng)的安全,防止執(zhí)行任意函數(shù),需要對(duì)函數(shù)名做一些處理,也就是使用統(tǒng)一的前綴為這些函數(shù)命名。例如在上述例子中,使用前綴cmd_+函數(shù)名的形式定義函數(shù)(cmd_help,cmd_sum)。
在傳入函數(shù)名字符串時(shí),只傳入函數(shù)名的后半部分(如"help","sum"),由程序添加前綴后組成完整的函數(shù)名,再調(diào)用該函數(shù)。
對(duì)于類(lèi)的成員函數(shù),則可以使用getattr()獲得類(lèi)成員函數(shù)。
上述代碼通過(guò)字符串調(diào)用了類(lèi)成員函數(shù),與前一段代碼執(zhí)行的結(jié)果相同。
此外,還可以使用字典將字符串與函數(shù)對(duì)應(yīng)起來(lái)調(diào)用,缺點(diǎn)就是每增加一個(gè)函數(shù)需要相應(yīng)在字典對(duì)象中添加相應(yīng)的鍵值,增加代碼維護(hù)工作量。
以上代碼在Python 3.6以上運(yùn)行通過(guò)。
python 函數(shù)的調(diào)用1
1:
簡(jiǎn)單的函數(shù)演示:
這個(gè)enumerate 函數(shù)挺有意思,用一次就愛(ài)不釋手,可以自己去敲敲代碼感受一下。
2:上面僅僅是簡(jiǎn)單的一個(gè)展示已經(jīng)存在的書(shū)籍名稱(chēng),加入我新增了一本書(shū),新增完成之后,我需要再show一下目前我有那些書(shū)呢?
如果沒(méi)有函數(shù)之前,我們肯定需要再次執(zhí)行一遍所有有關(guān)print的代碼,但是函數(shù)的功能就是讓我們減少重復(fù)冗余的代碼,只要再次調(diào)用show_book()即可。
再舉一個(gè)簡(jiǎn)單的例子,在一個(gè)函數(shù)內(nèi)調(diào)用另外一個(gè)函數(shù),并傳遞參數(shù)
python如何設(shè)置一個(gè)變量被所有函數(shù)調(diào)用
1.在已新建的python文件中,定義函數(shù)mul_data,傳入兩個(gè)參數(shù)param和exp
2.調(diào)用函數(shù)mul_data,并賦值給變量s,打印變量s
3.保存代碼并運(yùn)行python文件,查看打印結(jié)果mul_data為函數(shù)
4.再次調(diào)用s,并傳入兩個(gè)參數(shù),賦值給變量h并打印
5. 直接上代碼 class aun(): def t_self(self): self.b=0 self.i =0 if self.i10: print("t_self "+str(self.i)) def
python如何定義和調(diào)用函數(shù)
1、函數(shù)定義
①使用def關(guān)鍵字定義函數(shù)
②
def 函數(shù)名(參數(shù)1.參數(shù)2.參數(shù)3...):
"""文檔字符串,docstring,用來(lái)說(shuō)明函數(shù)的作用"""
#函數(shù)體
return 表達(dá)式
注釋的作用:說(shuō)明函數(shù)是做什么的,函數(shù)有什么功能。
③遇到冒號(hào)要縮進(jìn),冒號(hào)后面所有的縮進(jìn)的代碼塊構(gòu)成了函數(shù)體,描述了函數(shù)是做什么的,即函數(shù)的功能是什么。Python函數(shù)的本質(zhì)與數(shù)學(xué)中的函數(shù)的本質(zhì)是一致的。
2、函數(shù)調(diào)用
①函數(shù)必須先定義,才能調(diào)用,否則會(huì)報(bào)錯(cuò)。
②無(wú)參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(),有參數(shù)時(shí)函數(shù)的調(diào)用:函數(shù)名(參數(shù)1.參數(shù)2.……)
③不要在定義函數(shù)的時(shí)候在函數(shù)體里面調(diào)用本身,否則會(huì)出不來(lái),陷入循環(huán)調(diào)用。
④函數(shù)需要調(diào)用函數(shù)體才會(huì)被執(zhí)行,單純的只是定義函數(shù)是不會(huì)被執(zhí)行的。
⑤Debug工具中Step into進(jìn)入到調(diào)用的函數(shù)里,Step Into My Code進(jìn)入到調(diào)用的模塊里函數(shù)。
當(dāng)前題目:python多函數(shù)調(diào)用 python函數(shù)調(diào)用另一個(gè)函數(shù)
標(biāo)題網(wǎng)址:http://www.ef60e0e.cn/article/doiehec.html