在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】属性的更多相关文章

  1. python属性访问

    1.python属性访问魔法方法: >>> class C: def __getattribute__(self,name): print("getattribute&qu ...

  2. Python属性和方法

    关键字:Python 属性 方法原文:http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and ...

  3. Python - 属性简介"__name__"

    模块是对象,并且每个模块都有一个内置属性__name__.当一个模块被直接运行的时候,该模块__name__的值就等于缺省的'__main__'.如果一个模块被import ,那么这个被引入模块__n ...

  4. Python属性、方法和类管理系列之----描述符类

    什么是描述符类? 根据鸭子模型理论,只要具有__get__方法的类就是描述符类. 如果一个类中具有__get__和__set__两个方法,那么就是数据描述符,. 如果一个类中只有__get__方法,那 ...

  5. Python属性、方法和类管理系列之----__slots__属性

    一句话说明 __slots__是用来限制实例的属性的,__slots__可以规定实例是否应该有__dict__属性:__slots__不能限制类的属性. 只有__slots__列表内的这些变量名可赋值 ...

  6. Python属性、方法和类管理系列之----属性初探

    在学习dict的时候,肯定听过dict是Python中最重要的数据类型,但是不一定知道为什么.马上你就会明白原因了. Python中从模块.到函数.到类.到元类,其实主要管理方法就是靠一个一个的字典. ...

  7. python属性查找

    python中执行obj.attr时,将调用特殊方法obj.__getattribute__('attr'),该方法执行搜索来查找该属性,通常涉及检查特性.查找实例字典.查找类字典以及搜索基类.如果搜 ...

  8. python属性查找(attribute lookup)

    在Python中,属性查找(attribute lookup)是比较复杂的,特别是涉及到描述符descriptor的时候.     在上一文章末尾,给出了一段代码,就涉及到descriptor与att ...

  9. python属性管理(1):基础

    管理属性的几种方式 在python中访问.设置.删除对象属性的时候,有以下几种方式: 使用内置函数getattr().setattr()和delattr() 自己编写getter().setter() ...

  10. Python属性(@property)

    创建用于计算机的属性 在Python中,可以通过@property(装饰器)将一个方法转换为属性,从而实现用于计算的属性.将方法转换为属性后,可以直接通过方法名来访问方法,而不需要再添加一对小括号&q ...

随机推荐

  1. .net mvc利用NPOI导入导出excel

    1.导出Excel :首先引用NPOI包(Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> ...

  2. C#中使用Linq实现全外连接

    每次使用都到处查阅,现在记录下来,备查. var fulljoin = (from s in sampleRegistersjoin t in tensionDatas on new { Beach ...

  3. ADO.NET 访问数据库

    对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...

  4. log4j输出日志到文件

    输出端Appender Appender用来指定日志信息输出到哪个地方,可以同时指定多个输出目的地.Log4j允许将信息输出到许多不同的输出设备中,一个log信息输出目的地就叫做一个Appender. ...

  5. Meteor常用技能

    调试: 服务器端 console.log() 会输出到终端命令行 客户端的 console.log() 会输出到浏览器控制台 Mongo Shell: 启动方式:meteor mongo 清空数据:m ...

  6. js数组操作大全(转载)

    转载原网址:http://hi.baidu.com/jspboy/item/4923fffb52a28014fe35823a shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回und ...

  7. Python 函数嵌套

    def mumber(a):      def add(b):              return a*b      return add if __name__=="__main__& ...

  8. Scala练习(二)

    3.计算指定目录下以".txt"为扩展名的文件个数.注:随便建个目录,建几个.txt文件即可. 4.计算"input_4.txt"文件中搜索词的出现次数,并按次 ...

  9. android事件拦截处理机制详解

    前段时间刚接触过Android手机开发,对它的事件传播机制不是很了解,虽然网上也查了相关的资料,但是总觉得理解模模糊糊,似是而非,于是自己就写个小demo测试了一下.总算搞明白了它的具体机制.写下自己 ...

  10. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...