技术贴 面向对象 类:对具有相同数据和方法的一组对象的描述或定义。 对象:对象是一个类的实例。 实例(instance):一个对象的实例化实现。 标识(identity):每个对象的实例都需要一个可以唯一标识这个实例的标记。 实例属性(instance attribute):一个对象就是一组属性的集合。 实例方法(instance method):所有存取或者更新对象某个实例一条或者多条属性的函数的集合。 类属性(classattribute):属于一个类中所有对象的属性,不会只在某个实例上发生变化 类方法(classmethod):那些无须特定的对性实例就能够工作的从属于类的函数。
1.Python中的类与对象 Python中定义类的方式比较简单: class 类名: 类变量 def __init__(self,paramers): def 函数(self,...) 其中直接定义在类体中的变量叫类变量,而在类的方法中定义的变量叫实例变量。类的属性包括成员变量和方法,其中方法的定义和普通函数的定义非常类似,但方法必须以self作为第一个参数。 在Python类中定义的方法通常有三种:实例方法,类方法以及静态方法。这三者之间的区别是实例方法一般都以self作为第一个参数,必须和具体的对象实例进行绑定才能访问,而类方法以cls作为第一个参数,cls表示类本身,定义时使用@classmethod;而静态方法不需要默认的任何参数,跟一般的普通函数类似.定义的时候使用@staticmethod。
如果父类中定义有静态方法a(),在子类中没有覆盖该方法的话,Sub.a()仍然指的是父类的a()方法。而如果a()是类方法的情况下,Sub.a()指向的是子类。@staticmethod只适用于不想定义全局函数的情况。
|