在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. USB传输协议。——Arvin

    问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源 ...

  2. spring框架学习(五)注解

    注解Annotation,是一种类似注释的机制,在代码中添加注解可以在之后某时间使用这些信息.跟注释不同的是,注释是给我们看的,Java虚拟机不会编译,注解也是不编译的,但是我们可以通过反射机制去读取 ...

  3. 【WebGoat习题解析】AJAX Security->Insecure Client Storage

    绕过前端验证可以通过两种办法:一是利用开发者工具进行debug:二是利用burpsuite直接抓取.本题解决思路如下: STAGE 1: For this exercise, your mission ...

  4. (48) odoo的button用法

    button 应用的比较多,这里来汇总一下 按钮<button>,支持的属性     icon  可用的icon在 addons/web/static/src/img/icons     ...

  5. Ant 常用语法及选项

    project 项目定义,一个ant文件就是一个 project,定义了项目名称,起始位置以及默认执行的 target. <project name="Easily" bas ...

  6. WordPress网站搭建

    . 1.进入 var/www/html中放入里的文件 2.. 安装http php php-sql [root@jw38 yum.repos.d]# systemctl restart httpd.s ...

  7. 关于nginx反向代理后获取不到客户端的真实ip地址问题

    前段时间在我的网站上用nginx做了一下反向代理,最近发现不能获取客户端ip了,都是拿到的127.0.0.1的本地ip... 通过查资料后,再去看了看我的配置文件,结果发现我没有如下配置: nginx ...

  8. mysql 存储 emoji报错( Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F)的解决方案

    1.报错原因: mysql utf-8 编码储存的是 2-3个的字节,而emoji则是4个字节. 2.解决办法: 修改mysql的配置文件,windows下的为my.ini(linux下的为my.cn ...

  9. sphinx索引分析——文件格式和字典是double array trie 检索树,索引存储 – 多路归并排序,文档id压缩 – Variable Byte Coding

    1 概述 这是基于开源的sphinx全文检索引擎的架构代码分析,本篇主要描述index索引服务的分析.当前分析的版本 sphinx-2.0.4 2 index 功能 3 文件表 4 索引文件结构 4. ...

  10. opencv 基础语法

    1.关于图像:显示图象 //在指定窗口显示图像cvShowImage void cvShowImage( const char* name, const CvArr* image ); name:窗口 ...