python高级

来源:互联网 发布:绩效软件 编辑:程序博客网 时间:2024/05/23 18:39
类是实例工厂。
实例代表程序领域中的具体元素。对象。
在python模型中,类和实例是两种不同的对象类型,放在树中,他们几乎相同,每种类型的主要用途是作为另一种类型的命名空间。类和实例的主要区别类是一种产生实例的工厂。
类和模块的差异:内存中特定模块只有一个实例。要重载模块以取得新代码。
类有函数,实例有具体的数据项,类的函数使用这些数据。
属性通常是class语句中通过赋值语句添加在类中,而不是嵌入在def语句内。
属性通常在类内,对传给函数的特殊参数(self)做赋值运算而添加在实例中。
def setname(self,who),称为方法,会自动接收第一个特殊参数。
_init_方法称为构造函数。

class语句创建类对象并将其赋值给变量名,class语句内的赋值语句会创建类的属性,类属性提供对象的状态和行为。
实例对象是具体的元素。像函数一样调用类对象会创建新的实例对象,每个实例对象继承类的属性并获得自己的命名空间,在方法内对self属性做赋值运算会产生每个实例自己的属性。
超类列在类开头的括号中,类从其超类中继承属性,实例会继承所有可读取类的属性逻辑的修改是通过创建子类,而不是修改超类。
运算符重载:
以双下划线命名的方法(_X_)是特殊的钩子;
当实例出现在内置运算时,这类方法会自动调用;
类可覆盖多数内置类型运算;
运算符覆盖方法没有默认值;
运算符可让类与python的对象模型相集成。

+会触发_add_方法

如果模块是被导入,__name__的值为模块名字
如果模块是被直接执行,__name__的值为’__main__’

0 0