python类动态函数名 python 动态变量名

如何用python动态生成变量名字python类动态函数名你好python类动态函数名,方法如下python类动态函数名:
要写一个程序 , 让linuxany1=1,linuxany2=2,… inuxany100=100,你会怎么做?
最容易想到的自然是eval , 但是实际上根本不需要这种危险的东西,因为Python的变量名就是一个字典的key而已 。要获取这个字典,直接用locals和globals函数即可 。
names = locals()
for i in xrange(1, 101):
... names['linuxany%s' % i] = i
...linuxany1
1linuxany2
2linuxany100
100
不过你也许会说这个例子没什么用,毕竟用数组来实现更为实用 。
举一个例子:服务器使用一种对象数据库,可以直接保存对象到数据库中 。服务器列出目前支持的所有类,而用户想添加一个不存在于列表中的类,于是向服务器发送一段JSON或XML文本 。服务器解析这段文本,将它转换成一个class对象 , 并且设置类名 。之后用户就可以随意生成这个类的对象 。
关键是这个数据库和类名相关,你不能用一个通用的Object类来保存所有的对象,否则查询时就乱套了 。
除了动态设置变量名,动态删除也是可以的 , 例如
del locals()['linuxany1']
同样,delattr也是可用的 。
希望能帮到你 。
python里面 如何动态调用 一个函数function="luckywin."+case_name+"."+def_name
function=eval(function)
function(player_id,test_url)
function是个字符串python类动态函数名,function(player_id,test_url) 这样写肯定不是字符串python类动态函数名,怎么能用eval呢python类动态函数名,直接eval function返回函数名python类动态函数名,然后调用函数
python的类中怎么实现动态化函数?给你这样一个例子吧,这个例子里面有动态增加类的函数 。
声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数 。
代码如下所示:
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下面建立一个空的__init__.py文件 , 把目录变为一个包,在modules目录下建立真正的BAS_GetUserList实现:BAS_GetUserList文件中有个BAS_GetUserList函数如下:
def BAS_GetUserList(self, strs):
return [0, strs]
这样WinBAS类就可以动态加入了BAS_GetUserList函数 。
python中函数名的命名规则Python 命名一般来说有一下不成文的规则 :
模块名一般使用全部小写 如 myphone
类名第一个字母大写 , 如果有多个单词,每一个单词的第一个字母大写如 : MyPhone
函数名 : 小写,如果有多个单词用下划线隔开 如 my_phone
常量名字一般全大写 : MYPHONE
【python类动态函数名 python 动态变量名】关于python类动态函数名和python 动态变量名的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读