真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python動態(tài)生成函數(shù) python動態(tài)編程

python里面 如何動態(tài)調(diào)用 一個函數(shù)

function="luckywin."+case_name+"."+def_name

察哈爾右翼前ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

function=eval(function)

function(player_id,test_url)

function是個字符串,function(player_id,test_url) 這樣寫肯定不是字符串,怎么能用eval呢,直接eval function返回函數(shù)名,然后調(diào)用函數(shù)

python 怎么生成可變函數(shù)名

定義一個A類,然后實例化一個A對象,通過setattr函數(shù)來給當前類添加一個變量,值是test函數(shù)。調(diào)用haha函數(shù),就相當于調(diào)用了test函數(shù)。 例2,定義一個模塊,通過另一個模塊函數(shù)調(diào)用函數(shù)來增加變量,值是test2函數(shù)。調(diào)用haha函數(shù),就相當于調(diào)用了test2函數(shù)。

原理

python系統(tǒng)會維護一個變量的字典,可以通過locals()或者globals()獲取到該字典。由于字典是可變對象,那么,就可以動態(tài)的增加變量。由于函數(shù)也是一個對象,那么就可以將變量指向函數(shù)。這樣就可以達到動態(tài)修改函數(shù)名的目的了。

如何用python動態(tài)生成變量名字

你好,方法如下:

要寫一個程序,讓linuxany1=1,linuxany2=2,… inuxany100=100,你會怎么做?

最容易想到的自然是eval,但是實際上根本不需要這種危險的東西,因為Python的變量名就是一個字典的key而已。要獲取這個字典,直接用locals和globals函數(shù)即可。

names = locals()

for i in xrange(1, 101):

... names['linuxany%s' % i] = i

... linuxany1

1 linuxany2

2 linuxany100

100

不過你也許會說這個例子沒什么用,畢竟用數(shù)組來實現(xiàn)更為實用。

舉一個例子:服務器使用一種對象數(shù)據(jù)庫,可以直接保存對象到數(shù)據(jù)庫中。服務器列出目前支持的所有類,而用戶想添加一個不存在于列表中的類,于是向服務器發(fā)送一段JSON或XML文本。服務器解析這段文本,將它轉(zhuǎn)換成一個class對象,并且設置類名。之后用戶就可以隨意生成這個類的對象。

關(guān)鍵是這個數(shù)據(jù)庫和類名相關(guān),你不能用一個通用的Object類來保存所有的對象,否則查詢時就亂套了。

除了動態(tài)設置變量名,動態(tài)刪除也是可以的,例如

del locals()['linuxany1']

同樣,delattr也是可用的。

希望能幫到你。


分享名稱:python動態(tài)生成函數(shù) python動態(tài)編程
URL地址:http://weahome.cn/article/hphsjg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部