python中的映射类型,映射在Python中的实现是数据结构什么
大蟒中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr、改四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员。
获取成员: getattr
classFoo:
def__init__(自己,姓名,年龄):
self.name=name
年龄=年龄
obj=Foo(klvchen ,18)
inp=输入()
v=getattr(obj,inp)
印刷(五)运行结果:
名字
klvchenclassFoo:
def__init__(自己,姓名,年龄):
self.name=name
年龄=年龄
defshow(self):
返回" % s-% s"%(自身。姓名、年龄)
obj=Foo(klvchen ,18)
func=getattr(obj, show )
打印(功能)
res=func()
打印(分辨率)运行结果:
boundmethodfoo。_ _ main _ _的显示。0x 00000234 f 6942588处的foo对象
klv陈-18型
classFoo:
def__init__(自己,姓名,年龄):
self.name=name
年龄=年龄
defshow(self):
返回" % s-% s"%(自身。姓名、年龄)
obj=Foo(klvchen ,18)
print(hasattr(obj, name1 ))运行结果:
假检查是否含有成员: hasattr
classFoo:
def__init__(自己,姓名,年龄):
n
bsp;self.name=name
self.age=age
defshow(self):
return"%s-%s"%(self.name,self.age)
obj=Foo('klvchen',18)
#print(hasattr(obj,'name1'))
setattr(obj,'key','value')
print(obj.key)运行结果:
value相关推荐:《Python视频教程》
删除成员: delattr
classFoo:运行结果:def__init__(self,name,age):
self.name=name
self.age=age
defshow(self):
return"%s-%s"%(self.name,self.age)
obj=Foo('klvchen',18)
print(obj.name)
delattr(obj,'name')
print(obj.name)
klvchen通过字符串的形式操作对象中的成员AttributeError:'Foo'objecthasnoattribute'name'
classFoo:运行结果:stat='666'
def__init__(self,name,age):
self.name=name
self.age=age
res=getattr(Foo,'stat')
print(res)
666创建两个文件,s1.py 和 s2.py
s2.py 内容如下:
NAME='klvchen's1.py 内容如下:deffunc():
return'func'
imports2运行 s1.py 文件:res1=getattr(s2,'NAME')
print(res1)
res2=getattr(s2,'func')
result=res2()
print(result)
klvchen创建两个文件,s1.py 和 s2.pyfunc
s2.py 内容如下:
NAME='klvchen's1.py 内容如下:deffunc():
return'cwe'
classFoo:
def__init__(self):
self.name=666
imports2运行 s1.py 文件,运行结果:res1=getattr(s2,'NAME')
print(res1)
res2=getattr(s2,'func')
result=res2()
print(result)
cls=getattr(s2,'Foo')
print(cls)
obj=cls()
print(obj)
print(obj.name)
klvchen创建两个文件,s1.py 和 s2.pycwe
<class's2.Foo'>
<s2.Fooobjectat0x000001CFCDBB2438>
666
s2.py 内容如下:
deff1():s1.py 内容如下:return'首页'
deff2():
return'新闻'
deff3():
return'精华'
imports2运行 s1.py 文件,运行结果:inp=input('请输入要查看的URL:')
ifhasattr(s2,inp):
func=getattr(s2,inp)
result=func()
print(result)
else:
print('404')
请输入要查看的URL:f1首页
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。