****类**** 一个种类,一个模型。汽车模型
class Person: #经典类 pass
class Person2(object): #新式类 pass
****对象**** 指具体的东西,模型造出来的东西叫做对象。
self 代表的是本类对象;也就是实例化之后的值;
self 的内存地址 与 实例化对象的内存地址 一致
self代表的是本类对象。
因为函数里面的变量都是局部变量,出了函数就不能用了。
用self给对象绑定了之后,就可以self.xx随便用了
****实例**** 实例和对象是一样的。
****实例化**** 实例化就是造东西的这个过程。
class Person():
Person() ------ # 这就是实例化
****属性**** 就是变量
****方法**** 就是类里面的函数
class Person():
def face() ------ #这个就是方法
***继承***
就是一个类继承另一个类的所有东西
如 class Person1()
class Person2(Person1) ------ Person2 继承了 Person1;实例化 Person2后可以直接调用直接调用 Person1 里面的变量和方法
***封装***
将多个自带功能组合成一个新的功能,供后续调用
***多态***
注:【self】代表的是本类对象。 因为函数里面的变量都是局部变量,出了函数就不能用了。 用self给对象绑定了之后,就可以self.xx随便用了
【构造函数】 def __init__(): pass 构造函数就是类在实例化的时候执行的函数。 类在实例化的时候,会自动执行它
【析构函数】 def __del__(): pass 实例被销毁的时候执行的。(即在运行最后一行代码后会自动执行的代码;用作于实例销毁)
*************************************************************************************************************************************************
***属性方法*** 看起来像属性的一个方法。
@property #装饰器
引用的时候,后面紧跟的def hhh(self) 定义的变量,调用时时不能跟(),调用的结果时函数的返回值
前提条件:函数不能有参数
***类变量*** 类变量,公共的变量,每个实例都可以用
直接定义的变量
class Person():
cou ='china' #类变量;调用方法:Person.cou
def __init__(self):
......
......
***实例变量(成员变量)***
***实例方法*** 实例化之后才可以用的。
***类方法*** 1、不用实例化就可以直接调用。 2、它可以通过cls使用类变量 3、它不能调用这个类里面的其他实例方法和实例变量
class Person():
@classmethod ---- 紧跟其后的定义的函数就是类方法;调用方法Person.xm()
def xm(cls): #cls代表的就是Person print(cls.country) print('我是类方法')
***静态方法*** #你不想实例化的时候,就可以定义成类方法 #静态方法就是一个普通函数,只不过是写在类里面而已,它用不了类变量、类方法、实例变量、实例方法
@staticmethod
def xh(): print('这个是静态方法,它和一个没写在类里面的函数一样')
****************************************************************************************************************************************
私有
出了类之后,就不能用了。
***私有方法***
def __face()
***私有变量***self.__face = 5
*************************************************************************************************************************************
注:
if __name__ == '__main__':
判断这个python是在别的地方导入的,还是直接运行的这个python文件
这句话一般是做调试的时候用的。
如果是直接运行这个python文件的时候,这句话一点用都没有
print(__name__) #当前python运行结果为 __main__ #调用的情况下打印的结果是 【所在的文件名】
转载于:https://www.cnblogs.com/lynn-chen/p/9088639.html