5 python 内置类
1、实例属性和类属性
给实例绑定属性的方法是通过实例变量,或者通过self变量:
class Chinese:
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age s1 = Chinese('alex','man','')
s2 = Chinese('alex2','woman','')
s3 = Chinese('alex3','man','')
类属性:
class Chinese:
country = 'china'
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age
country = 'china'就是类Chinese的属性
class Chinese:
name = 'china'
country = 'china2'
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age s1 = Chinese('alex','man','')
s2 = Chinese('alex2','woman','')
s3 = Chinese('alex3','man','')
print(s1,s1.__dict__) print(s1.name)# 显示的是alex,不会显示类属性china
print(s1.country)
从上面的例子可以看出,在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。
实例属性属于各个实例所有,互不干扰;
类属性属于类所有,所有实例共享一个属性;
不要对实例属性和类属性使用相同的名字,否则将产生难以发现的错误。
实例属性属于各个实例所有,互不干扰; 类属性属于类所有,所有实例共享一个属性; 不要对实例属性和类属性使用相同的名字,否则将产生难以发现的错误。
2、 __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
1) 内置的数据类型没有__dict__属性 / int,list dict没有 2) 每个类有自己的__dict__属性,就算存着继承关系,父类的__dict__ 并不会影响子类的__dict__ 类的静态函数,类函数、普通函数,全局变量以及一些内置的属性都放在类_dict_里的 3) 对象也有自己的__dict__属性, 存储self.xxx 信息,父子类对象公用__dict__/ 一个字典,对象的数据属性组成
3、 __bases__ : 类的所有父类构成元素(由所有父类组成的元组), _bases_查看所有继承的父类,
class ParentClass1:
pass
class ParentClass2:
pass
class SubClass1(ParentClass1):#单继承,基类是ParentClass1,派生类是SubClass1
pass
class SubClass2(ParentClass1,ParentClass2):#python 支持多继承,用逗号分隔开多个继承类
pass
print(SubClass1.__bases__)
print(SubClass2.__bases__) 结果元组表示:
(<class '__main__.ParentClass1'>,)
(<class '__main__.ParentClass1'>, <class '__main__.ParentClass2'>)
__doc__ :类的文档字符串
__name__: 类名
__module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
5 python 内置类的更多相关文章
- Python内置类属性,元类研究
		Python内置类属性 我觉得一切都是对象,对象和元类对象,类对象其实都是一样的,我在最后进行了证明,但是只能证明一半,最后由于元类的父类是type,他可以阻挡对object属性的访问,告终 __di ... 
- Python内置类属性
		__dict__ : 类的属性(包含一个字典,由类的数据属性组成) __doc__ :类的文档字符串 __name__: 类名 __module__: 类定义所在的模块(类的全名是'__main__. ... 
- Python继承扩展内置类
		继承最有趣的应用是给内置类添加功能,在之前的Contact类中,我们将联系人添加到所有联系人的列表里,如果想通过名字来搜索,那么就可以在Contact类添加一个方法用于搜索,但是这种方法实际上属于列表 ... 
- python 内置函数和函数装饰器
		python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ... 
- Python内置函数解析
		我们知道,为了方便使用,python内置了一系列常用及关键的函数,如type().下面将对这些函数进行逐一分析.解释. Python内置函数表: 1. abs():返回绝对值.如abs(-1)= 1. ... 
- python内置函数的归集
		作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明. Python内置(built-in)函数随着python解释器的运行而创建.在Pytho ... 
- Python补充03 Python内置函数清单
		作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明. Python内置(built-in)函数随着python解释器的运行而创建.在Pytho ... 
- Python 内编写类的各种技巧和方法
		Python 内编写类的各种技巧和方法 简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象 ... 
- Python 内置函数笔记
		其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ... 
随机推荐
- import()、import语句、require() 区别
			import命令能够接受什么参数,import()函数就能接受什么参数,两者区别主要是后者为动态加载. import() 与 import语句 区别 区别项 import() import语句 参数都 ... 
- JUC线程池之 线程池的5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED
			线程池有5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED. 线程池状态定义代码如下: private final AtomicInteger ctl ... 
- [boost] : asser库用法
			基本用法 需要包含头文件#include <boost/assert.hpp> assert库定义了两个断言宏 BOOST_ASSERT BOOSE_ASSERT_MSG 第一种形式等价于 ... 
- msp430学习笔记-时钟及延时函数
			引用:http://blog.chinaunix.net/uid-24343357-id-3271380.html MCLK默认时钟源是DCOCLK,SMCLK默认时钟源也是DCOCLK,DCOCLK ... 
- 进程表/文件表/inode/vnode
			一般我们讲,都说进程有文件描述符表,文件描述符表中的指针指向某个inode,这中间省略了file,dentry对象,对准确理解VFS结构无益,本文结合网络所查,并根据APUE8.3和LKD13.11章 ... 
- push is not a function
			push is not a function 今天写js 碰上了这个问题 找了半天百度不得其解. 后来发现,我push的是一个对象 push数组才可以 
- 通过shell进行数学计算
			对于基本运算,可以使用let, $(())和$[] 对于高级运算,使用expr和bc这两个工具 [hupeng@hupeng-vm shell]$n1= [hupeng@hupeng-vm shell ... 
- class<T>和 class<?>类型 有什么区别
			平时看java源代码的时候,如果碰到泛型的话,我想? T K V E这些是经常出现的,但是有时想不起来代表什么意思,今天整理下: ? 表示不确定的java类型. T 表示java类型. K V 分别代 ... 
- [UE4]混合动画以及Try Get Pawn Owner、Get Velocity、VectorLength的使用
			混合动画,可以混合个多动画之间的动画,多个动画相当于关键帧,关键帧之间可以生成混合出过度动画. 实时动态更新Speed参数. 知识点: 一.可以在蓝图中使用“Try Get Pawn Owner”取得 ... 
- (转)Win7 64位系统下 Retional rose 2003 安装及破解
			网上关于Retional rose 2003安装和破解的文章比较多,这里,我结合自己的亲身体验,和大家分享一下win7 旗舰版 64位系统下Retional rose 2003(下面简称rose200 ... 
