#可以用函數(shù)字典,看看是否滿(mǎn)足你的要求
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括井陘網(wǎng)站建設(shè)、井陘網(wǎng)站制作、井陘網(wǎng)頁(yè)制作以及井陘網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,井陘網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到井陘省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
def?text_func(self):
print?"this?is?text?func"
def?int_func(self):
print?"this?is?int_func"
gen_func={'text':text_func,?'int':int_func}
def?choose(a='text'):
return?gen_func[a]
給你這樣一個(gè)例子吧,這個(gè)例子里面有動(dòng)態(tài)增加類(lèi)的函數(shù)。
聲明一個(gè)類(lèi),類(lèi)初始化的時(shí)候讀取配置文件,根據(jù)配置列表加載特定目錄下的模塊下的函數(shù),函數(shù)和模塊同名,將此函數(shù)動(dòng)態(tài)加載為類(lèi)的成員函數(shù)。
代碼如下所示:
class WinBAS(Bas):
def __init__(self):
self.__baslist = {}
self.__Init_Modules()
pass
def __Init_Modules(self):
import modplugs
for m in modplugs.__moduleset__:
mh = __import__('modules.' + m)# + '.' + m)
ma = getattr(mh, m)# + '.' + m)
ma = getattr(ma, m)
setattr(self.__class__, m, ma)
modplugs.py是模塊配置文件如下:
__moduleset__ = [
'BAS_GetUserList',
]
然后建立目錄modules下面建立一個(gè)空的__init__.py文件,把目錄變?yōu)橐粋€(gè)包,在modules目錄下建立真正的BAS_GetUserList實(shí)現(xiàn):BAS_GetUserList文件中有個(gè)BAS_GetUserList函數(shù)如下:
def BAS_GetUserList(self, strs):
return [0, strs]
這樣WinBAS類(lèi)就可以動(dòng)態(tài)加入了BAS_GetUserList函數(shù)。
python的內(nèi)建函數(shù)即是python自帶的函數(shù),這種函數(shù)不需要定義,并且不同的內(nèi)建函數(shù)具有不同的功能,可以直接使用。
以下是部分內(nèi)建函數(shù)用法及說(shuō)明
1、abs(),返回?cái)?shù)字的絕對(duì)值。
2、all(),如果集合中所有元素是true或集合為空集合,返回True。
3、any(),如果集合中有一項(xiàng)元素是true,返回True;空集合為False
4、ascii(), 返回一個(gè)表示對(duì)象的字符串。
5、bin(),將整數(shù)轉(zhuǎn)換為前綴為“0b”的二進(jìn)制字符串。
6、bool(),返回一個(gè)布爾值,即True或者之一False。
7、bytearray(),返回一個(gè)新的字節(jié)數(shù)組。
8、callable(對(duì)象)判斷對(duì)象參數(shù)是否可被調(diào)用(可被調(diào)用指的是對(duì)象能否使用()括號(hào)的方法調(diào)用)
9、chr(),返回表示Unicode代碼點(diǎn)為整數(shù)i的字符的字符串。與ord()函數(shù)相反。
推薦學(xué)習(xí)《python教程》
10、classmethod,將方法轉(zhuǎn)換為類(lèi)方法。
11、compile,將源代碼編譯為代碼或AST對(duì)象。代碼對(duì)象可以由exec()或執(zhí)行eval()。 source可以是普通字符串,字節(jié)字符串或AST對(duì)象。
12、dic(),創(chuàng)建一個(gè)字典
13、divmod(a,b),將兩個(gè)數(shù)作為參數(shù),并在使用整數(shù)除法時(shí)返回由商和余數(shù)組成的一對(duì)數(shù)
14、enumerate(iterable,start = 0)
enumerate是枚舉、列舉的意思
對(duì)于一個(gè)可迭代的(iterable)/可遍歷的對(duì)象(如列表、字符串),enumerate將其組成一個(gè)索引序列,利用它可以同時(shí)獲得索引和值
enumerate多用于在for循環(huán)中得到計(jì)數(shù)
15、eval,將一個(gè)字符串變?yōu)樽值?/p>
16、exec(object [, globals[, locals]])exec語(yǔ)句用來(lái)執(zhí)行儲(chǔ)存在字符串或文件中的Python語(yǔ)句
17、filter(功能,可迭代)
filter函數(shù)用于過(guò)濾序列
filter()把傳入的函數(shù)依次作用于每個(gè)元素,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素。
function="luckywin."+case_name+"."+def_name
function=eval(function)
function(player_id,test_url)
function是個(gè)字符串,function(player_id,test_url) 這樣寫(xiě)肯定不是字符串,怎么能用eval呢,直接eval function返回函數(shù)名,然后調(diào)用函數(shù)
當(dāng)前文章:python動(dòng)態(tài)加入函數(shù) python動(dòng)態(tài)函數(shù)名
文章源于:http://sd-ha.com/article4/doijeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、移動(dòng)網(wǎng)站建設(shè)、定制開(kāi)發(fā)、標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)