欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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()
相关标签: python