1、类,意思可以理解为一个种类,比如:人类、猴子、大猩猩等等形象化为现实中的物种。类名首字母都大写
2、实例,即通过类创建出来的一个个独立的对象,不同的对象拥有相同的类中的方法,但不同的对象各自的数据是不相同的。比如人类可以分为男人和女人,男人和女人都是拥有相同的大特征,但是一些小特征是不同的。
3、实例化,即创建实例的过程,类名+()即为实例化。类在需要用到的时候,首先必须实例化
4、方法,即类中定义的函数,实例方法
5、类变量,即类中定义的变量,属于公共的变量,每个实例都可以用
6、实例属性,即类中实例定义的变量
7、属性方法,即通过@property将一个方法变成一个静态属性
1 class Baby(): 2 country='China' #类变量,公共的变量,每个实例都可以用 3 def my(self): 4 self.name='sammy' 5 def cry(self): 6 print('wawa') 7 8 @property 9 def hw(self): 10 print('hello world!') 11 12 b=Baby() 13 b.hw() 14 #执行b.hw()将会报错:TypeError: 'NoneType' object is not callable 15 #因为hw已经被定义为一个静态的属性,已经不是一个方法,所以在执行的过程中无需添加括号(),所以应该写成b.hw
8、类方法,即通过一个@classmethod将一个方法变成一个类方法
1 class Baby(): 2 country='China' 3 def my(self): 4 self.name='sammy' 5 def cry(self): 6 print('wawa') 7 8 @property 9 def hw(self): 10 print('hello world!') 11 @classmethod 12 def xm(cls): 13 print(cls.country) #它可以通过cls使用类变量 14 #print(cls.cry()) #它不能调用这个类里面的其他实例方法和实例变量 15 print('我是类方法') 16 17 # Baby.xm() 18 #b=Baby() 19 Baby().xm()
(1)类方法可以不用实例化一个对象后再去使用,可以直接通过类名直接调用,例如:Baby().xm()
(2)可以通过cls使用类中的类变量
(3)无法使用类中的实例方法和实例变量