总结
02、类方法是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法
03、类方法:@classmethod def getCountry(cls):第一个参数接收的必须是类对象,一般以 cls 作为第一个参数
04、类方法还有一个用途就是可以对类属性进行修改:@classmethod def setCountry(cls,country): cls.country = country
05、静态方法通过修饰器@staticmethod来进行修饰,另外注意静态方法不需要定义 cls 参数来接收类对象,它是通过类对象直接调用类属性,存放逻辑性的代码,逻辑属于类,但是和类本身没有交互
06、在静态方法中,不会涉及到类中的方法和属性的操作;存放逻辑性的代码,主要是一些逻辑属于类,但是和类本身没有交互
09、类方法 @classmethod,第一个形参 cls,默认传递;静态方法 @staticmethod 没有默认传递的形参;对象方法(成员方法) def 方法名 第一个形参 self,默认传递
12、类属性(私有和公有)即类变量,所有对象共享同一份类属性;实例属性(私/公)即成员变量,每个不同对象,有不一样值的实例属性
13、封装是实现面向对象程序设计的第一步,封装就是将数据(属性)或函数(方法)等集合在一个个的中类中(class),被封装的对象通常被称为抽象数据类型
15、python中是可以多继承的并且父类中的方法、属性,子类也都会继承
16、python3 中的多继承遵循 mro 算法顺序当中的,先广度后深度的原理;新式类叧会执行一次__init__()文件
17、子类在继承的时候,在定义类时,小括号()中为父类的名字;子类继承后,父类的属性、方法,都会被继承给子类
18、私有的属性,不能通过对象直接访问,但是可以通过方法访问。 私有的方法,不能通过对象直接访问。 私有的属性、方法,不会被子类继承,也不能被访问
19、重写:就是子类中,有一个和父 类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法。
20、调用父类方法:super(子类名,self).方法名(参数);super().方法名(参数);父类名.方法名(self,参数)
21、super 不是代表父类,而是按照继承顺序的下一个类,初学者可以认为,super.__self__()整合在 一其就是可对父类中的方法操作
22、多态:定义时的类型和运行时的类型不一样,此时就成为多态,更通俗的讲就是多种形态,不同 对象调用相同方法的时候产生不同的结果
23、Python 中主要是通过类的继承以及方法的重写来实现该功能
24、魔法方法是指 Python 内部已经包含的,被双下划线所包围的方法,这些方法在进行特定的操作时会自动被调用;自由度变得更高
25、python 解释器默认调用__init__()方法,当内存中构建一个对象数据的时候回调__init__()方法
26、当删除一个对象时,python 解释器也会默认调用一个方法,这个方法为__del__()方法,当内存中销毁(释放)一个对象时回调__del__()方法
30、__str__:在将对象转换成字符串 str(对象)的时候,打印对象的信息,必须要 return 一个字符串类型的返回值,实际上是被 print 函数默认调用的
31、单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只 有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例