python hasattr,getattr,setattr,delattr
程序员文章站
2022-07-15 16:50:56
...
python hasattr,getattr,setattr,delattr
#通过字符串操作属性值
class A():
x=10
obj=A()
#hasattr()
print(dir(obj))
print(hasattr(obj,'x'))
print(hasattr(obj,'y'))
# getattr()
print(getattr(obj,'x'))
# setattr()
setattr(obj,'x','XXX') #将x修改为'XXX'
print(obj.x)
print(obj.__dict__)
# delattr()
print(obj.__dict__)
delattr(obj,'x') #删除了自己的x,依旧访问到类中的x
print(obj.x)
# delattr(A,'x')
print(obj.x) #将类中的x也删除,报错,找不到x
#栗子
class Ftp():
def put(self):
print('上传功能')
def get(self):
print('下载功能')
def interactive(self):
method=input('>>> ').strip()
if hasattr(self,method):
getattr(self,method)()
else:
print('不存在该功能')
obj=Ftp()
obj.interactive()
推荐阅读
-
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
-
python中的__dict__,__getattr__,__setattr__
-
python中hasattr()、getattr()、setattr()函数的使用
-
Python __getattr__与__setattr__使用方法
-
python hasattr,getattr,setattr,delattr
-
python3中的setattr(),getattr(),hasattr(),delattr()
-
反射 | hasattr() | getattr() | setattr() | delattr() 的使用方法
-
python hasattr/getattr/setattr/instancemethod/classmethod/staticmethod
-
#python中的反射方法,getattr,setattr,hasattr,delattr
-
python 的getattr()函数、setattr()函数、hasattr()函数、delattr()函数