首页 > 代码库 > 【python】属性
【python】属性
在python中,一切皆是对象(object),对象拥有很多属性(arrtribute)
属性分2种
类属性(class attribute):类自身定义or继承
对象属性(object attribute):该对象实例定义的
保留属性:(=对象属性??)
>>> Class1.__doc__ # 类型帮助信息 ‘Class1 Doc.‘ >>> Class1.__name__ # 类型名称 ‘Class1‘ >>> Class1.__module__ # 类型所在模块 ‘__main__‘ >>> Class1.__bases__ # 类型所继承的基类 (<type ‘object‘>,) >>> Class1.__dict__ # 类型字典,存储所有类型成员信息。 <dictproxy object at 0x00D3AD70> >>> Class1().__class__ # 类型 <class ‘__main__.Class1‘> >>> Class1().__module__ # 实例类型所在模块 ‘__main__‘ >>> Class1().__dict__ # 对象字典,存储所有实例成员信息。 {‘i‘: 1234}
对象的属性???(感觉教程写错了,应该是类属性)储存在对象的__dict__属性中。__dict__为一个词典,键为属性名,对应的值为属性本身。
class Bird: #鸟类父类 have_feater=True #属性 ‘have_feater‘: True way_of_reproduction="egg" #属性 ‘way_of_reproduction‘: ‘egg‘ song="叽叽喳喳" #属性 ‘song‘: ‘叽叽喳喳‘ def sing(self): # ‘sing‘: <function Bird.sing at 0x0000000001F0BB70>, print(self.song) def move(self): #‘move‘: <function Bird.move at 0x0000000001F0BBF8>, print("飞飞飞") #属性 ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Bird‘ objects>, #属性 ‘__doc__‘: None, #属性 ‘__dict__‘: <attribute ‘__dict__‘ of ‘Bird‘ objects>, #属性 ‘__module__‘: ‘__main__ class Chicken(Bird): #鸟类子类 song="oooooo" #属性 ‘song‘: ‘oooooo‘ def __init__(self,name): #属性 ‘__init__‘: <function Chicken.__init__ at 0x0000000001F0BC80> self.name=name def move(self): #属性 ‘move‘: <function Chicken.move at 0x0000000001F0BD08> print("跑跑跑") #属性 ‘__doc__‘: None, #属性 ‘__module__‘: ‘__main__‘ myChicken=Chicken("QQ") #属性 ‘name‘: ‘QQ‘ #如果只有对象名,可以通过__class__得到类,然后__base__得到父类 print(myChicken.__class__.__base__) print(Bird.__dict__) print(Chicken.__dict__) print(myChicken.__dict__)
【python】属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。