面向对象技术介绍类:用来描述具有相同属性和方法的对象的集合。它定义集合中每个对象共有的属性和方法。对象是类的实例。类变量:类变量在实例化对象中是通用的。类变量在类内和函数体外定义。类变量一般不作为实例变量使用。数据成员:类变量或实例变量用于处理与类及其实例对象相关的数据。方法重写:如果从父类继承的方法不能满足子类的需要,可以重写。这个过程称为方法覆盖,也称为方法重写。实例变量:方法中定义的变量,仅适用于当前实例的类。继承:即派生类(derivedclass)继承了基类(baseclass)的字段和方法。继承还允许派生类的对象被视为基类的对象。创建一个类变量是一个类变量,其值将在该类的所有实例之间共享。您可以在内部类或外部类中使用P访问。第一个方法__init__()方法是一个特殊的方法,称为类的构造函数或初始化方法,在创建该类的实例时调用。self代表类的实例,self定义在类的方法中是必须的,虽然调用时不需要传入相应的参数。self表示类的实例,非类类的方法与普通函数只有一个特殊的区别——它们必须多一个第一个参数名,按照惯例命名为self。输入:输出:从执行结果可以看出,self代表类的实例,代表当前对象的地址,而self.class指向类。self不是python关键字,换成runoob就可以正常执行:创建实例对象访问属性:可以用点(.)来访问对象的属性。使用类名访问类变量,如下所示:Python内置类属性__dict__:类的属性(包含由类的数据属性组成的字典)__doc__:类的文档字符串__name__:类的名称class__module__:类定义所在的模块(类的全称是'__main__.className',如果类位于导入的模块mymod中,则className.__module__等于mymod)__bases__:该类的所有父类构成元素(包含所有父类的一个元组)Python内置类属性调用示例如下:python对象销毁(垃圾收集)Python使用引用计数的简单技术来跟踪和回收垃圾。Python在内部跟踪每个对象使用了多少个引用。一个内部跟踪变量,称为引用计数器。当一个对象被创建时,就会创建一个引用计数,当这个对象不再需要时,即这个对象的引用计数变为0时,就会被垃圾回收。但是回收并不是“立即”的,解释器会在适当的时候回收垃圾对象占用的内存空间。垃圾回收机制不仅针对引用计数为0的对象,还针对循环引用。循环引用是指两个对象相互引用,但没有其他变量引用它们。在这种情况下,仅使用引用计数是不够的。Python的垃圾收集器实际上是一个引用计数器和循环垃圾收集器。作为引用计数的补充,垃圾收集器还会查找大量分配的对象(以及未被引用计数销毁的对象)。在这种情况下,解释器将暂停并尝试清理任何未引用的循环。面向对象编程的一个主要好处是代码的重用,而实现这种重用的方法之一就是通过继承机制。继承可以理解为类之间的类型和子类型关系。注意事项:继承语法class派生类名(基类名):基类名写在括号中,基类在类定义时在元组中指定。python中继承的一些特点:1:在继承中,基类的构造(__init__()方法)不会被自动调用,需要在其派生类的构造中专门调用。2:调用基类的方法时,需要加上基类的类名前缀,需要带上self参数变量。不同的是在类中调用普通函数时,不需要带self参数3:Python总是先寻找对应类型的方法,如果在派生类中找不到对应的方法,则开始在基类中一一搜索。(先在本类中寻找要调用的方法,找不到再去基类中查找)。如果继承元组中列出了多个类,则称为“多重继承”。输入:输出:也可以继承多个类:调用方法重写输入:输出:类的属性和方法类的私有属性__private_attrs:两个下划线开头,声明该属性为private,不能在类外使用或直接访问.self.__private_attrs在类内的方法中使用时。类的方法在类内部。使用def关键字为类定义方法。不同于一般的函数定义,类方法必须包含参数self,它是第一个参数类__private_method的私有方法:两个下划线开始,声明该方法为私有方法,不能在类外调用。在类内部调用self.__private_methods输入:输出:单下划线、双下划线、首尾双下划线说明:__foo__:定义了一个特殊的方法,类似于__init__()等。_foo:单下划线开头的变量表示变量的保护类型,即保护类型只能被自身和子类访问,不能用于frommoduleimport*__foo:双下划线表示私有类型(private)变量只能被类本身访问。
