类与对象:
类是模板,对象是类的实例化
类是模板,通过模板复制,修改做出来的产品是实例化对象
类实例化后使用和直接使用的格式是不同的
直接使用类:
(1)第一个格式@classmethod的中文意思就是“类方法”,@classmethod 声明了函数1是类方法,这样才能允许函数1使用类属性中的数据。
(2)第二个格式 cls 的意思是class的缩写。如果类方法函数1想使用类属性(也就是类中的变量),就要写上cls为函数1的第一个参数,也就是把这个类作为参数传给自己,这样就能被允许使用该类中的数据。
(3)第三个格式是cls.变量,类方法想使用属性的时候,需要在这些变量名称前加上cls.
(4)类中方法不需要用到类属性的时候就不用要@classmethod,cls,cls·变量名 三处格式,否则占着茅坑不拉屎,终端也会报错!
实例化后再使用类:
-
通过对比可以看到实例化后再使用的格(1)是空着的,意思就是不再需要@classmethod的声明,并且在(2)处,把cls 替换成self 。
-
同时,实例化后再使用的格式,需要先赋值然后再调用(第(3)处)
-
在第(4)步骤,需要用实例名=类()的方式(实例名其实就是任取一个变量名),为类创建一个实例,然后再使用实例名·函数()的方式调用对应的方法。
cls 代表‘类’的意思,self代表‘实例’的意思。
当类已经实例化后不能再继续使用直接调用类方法来调用类,要使用实例化的方法。
通常情况下,类都是实例化后再调用,实例名称可以跟类名称一样!
当我们完成实例化后,对应于一个实例的属性和方法,叫“实例属性,实例方法”,不再称为“类属性,类方法”。
类的属性变了,那么实例属性也变了
我们也可以修改实例属性,但这不会影响到其他实例,也不会影响到类,因为每个实例都是独立的个体 !