python 一切皆为对象。
我们以前的str,list,int 都是对象。
1.1 类的定义 与 调用
class 关键字用来定义类,注意类名首字母大写。
类的调用,先实例化一个类,叫做对象或实例。使用这个实例调用其中的方法。
其实在之前我们一直在使用面向对象,str本身就是一个类。
s = ‘abc’ -》 s = str(abc) # 看源码对= 进行了运算符的重载,生成一个对象。就是我们类的调用。
s.upper() 调用里面的方法。
class Foo: def run(self): print('run') obj = Foo() obj.run()
1.2类 与 实例的存储 self 的含义
在定义类的方法的时候,都需要写一个self,但是在调用的时候又不要写。
其实self就是调用者本身。把self传递给类。self永远是调用者本身。这在继承的时候非常关键。
在python运行的时候,
类存储着本身的各种方法与一些类属性
实例只存储自身的属性,与类的内存指针
当两个实例去调用类里面的方法的时候,使用self传递本身,在调用类中同一个方法,这样在调用的时候就能区别,是谁调用了这个方法。
class Foo: def run(self, arg): print(self, arg) obj1 = Foo() obj1.run(111) print(obj1)