python 学习(6)面向对象 与类(方法),变量(属性)

面向对象与面向过程:

python 学习(6)面向对象 与类(方法),变量(属性)

面向对象

类的属性和类的方法:

类是一个函数包,类中可以放置函数和变量,然后类中的函数可以很方便的使用函数中的变量。

python 学习(6)面向对象 与类(方法),变量(属性)

用 def 语句来自定义一个函数,用class语句来自定义一个类。

python 学习(6)面向对象 与类(方法),变量(属性)
函数被称之为类的方法,变量称之为类的属性。

python 学习(6)面向对象 与类(方法),变量(属性)

类中方法的调用:类·方法名()
python 学习(6)面向对象 与类(方法),变量(属性)
类中变量的定义:

python 学习(6)面向对象 与类(方法),变量(属性)

类中变量的调用:

python 学习(6)面向对象 与类(方法),变量(属性)

类中的属性(变量)传递给类中方法(函数)

python 学习(6)面向对象 与类(方法),变量(属性)

(1)第一个格式@classmethod的中文意思就是“类方法”,@classmethod 声明了函数1是类方法,这样才能允许函数1使用类属性中的数据。

(2)第二个格式 cls 的意思是class的缩写。如果类方法函数1想使用类属性(也就是类中的变量),就要写上cls为函数1的第一个参数,也就是把这个类作为参数传给自己,这样就能被允许使用该类中的数据。

(3)第三个格式是cls.变量,类方法想使用属性的时候,需要在这些变量名称前加上cls.

(4)类中方法不需要用到类属性的时候就不用要@classmethod,cls,cls·变量名 三处格式,否则占着茅坑不拉屎,终端也会报错!

(5)类方法可以同时使用内部参数和外部参数(变量,属性)

python 学习(6)面向对象 与类(方法),变量(属性)

类属性,方法增加删除:

python 学习(6)面向对象 与类(方法),变量(属性)

类外部增加类属性:
python 学习(6)面向对象 与类(方法),变量(属性)

类通过内部增加类属性:

python 学习(6)面向对象 与类(方法),变量(属性)

python 学习(6)面向对象 与类(方法),变量(属性)

类方法之间相互调用:

python 学习(6)面向对象 与类(方法),变量(属性)

python 学习(6)面向对象 与类(方法),变量(属性)