python--类、对象
Class 类
Class 类
一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。在类中定义了这些对象的都具备的属性(variables(data))、共同的方法
Object 对象
一个对象即是一个类的实例化后实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每个对象亦可以有不同的属性,就像人类是指所有人,每个人是指具体的对象,人与人之前有共性,亦有不同
- 对象:实例化一个类后得到的对象
- 即有类变量也有实例变量,没有类方法的状态下先用实例变量
- 其实self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去。
- 类名+()产生一个实例(对象,对象空间.)
- 自动执行类中的__init__方法,将对象空间传给__init__的self参数,
- 给对象封装相应的属性.
操作类中的方法(除了类方法,静态方法 需要类名调用之外,剩下的方法都要对象调用)
r1 = Role('zou','police','AK47’)
此时self 相当于 r1 , Role(r1,'zou','police','AK47’)
r2 = Role('Jack','terrorist','B22’)
此时self 相当于 r2, Role(r2,'Jack','terrorist','B22’)
class Person: mind = '思想' # 静态变量,静态字段 animal = '高级动物' def __init__(self, name, age): # 构造方法 self.name = name self.age = age def work(self): # 方法 ,动态变量 print('都会工作...') def func(self): Person.money = '货币' self.hight = 175 print(Person.__dict__) print(Person.mind) # 查 Person.money = '货币' # 增 Person.animal = '低等动物' # 改 del Person.mind # 删
结果:
{'__module__': '__main__', 'mind': '思想', 'animal': '高级动物', '__init__': <function Person.__init__ at 0x03634CD8>, 'work': <function Person.work at 0x03634C48>, 'func': <function Person.func at 0x03634C90>, '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None} 思想
class Dome: n = 123 # 类变量 def __init__(self, name): # 构造函数,相当于给类声 明变量 self.name = name # 实例变量,作用域就是实例本身 def talk(self): # 每一个函数里都要有一个self print('%s:say hello' % self.name) f = Dome('zou') # 实例化,初始化一个类。把一个类变成一个对象的过程叫做实例化 f.talk() # Dome('zou').talk()
结果:
zou:say hello