摘要:
###方法没有重载 在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可。方法签名包含 3个部分:方法名、参数数量、参数类型。Python 中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由可变参数控制。因此,Python 中是没有方法的重载的。定义一个方法即可有多种 阅读全文
摘要:
###__call__方法和可调用对象 定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用。 # 测试__call__,可调用对象 class SalaryAccount: '''工资计算类''' def __call__(self, salary): yearSal 阅读全文
摘要:
###__del__方法(析构函数)和垃圾回收机制 __del__方法称为“析构方法”,用于实现对象被销毁时所需的操作。比如:释放对象占用的资源,例如:打开的文件资源、网络连接等。 Python 实现自动的垃圾回收,当对象没有被引用时(引用计数为 0),由垃圾回收器调用__del__方法。 我们也可 阅读全文
摘要:
###类方法 类方法是从属于“类对象”的方法。类方法通过装饰器@classmethod 来定义,格式如下: @classmethod def 类方法名(cls [,形参列表]) : 函数体要点如下:1. @classmethod 必须位于方法上面一行2. 第一个 cls 必须有;cls 指的就是“类 阅读全文
摘要:
类属性是从属于“类对象”的属性,也称为“类变量”。由于,类属性从属于类对象,可以被所有实例对象共享。 类属性的定义方式: class 类名: 类变量名= 初始值 在类中或者类的外面,我们可以通过:“类名.类变量名”来读写。 【操作】 类属性的使用测试 class Student: company = 阅读全文
摘要:
我们在前面讲的类定义格式中,“class 类名:”。实际上,当解释器执行 class 语句时,就会创建一个类对象。 【操作】测试类对象的生成 class Student: pass # 空语句 print(type(Student)) print(id(Student)) Stu2 = Studen 阅读全文
摘要:
###实例方法 实例方法是从属于实例对象的方法。实例方法的定义格式如下:def 方法名(self [, 形参列表]): 函数体方法的调用格式如下:对象.方法名([实参列表]) ###要点: 1. 定义实例方法时,第一个参数必须为 self。和前面一样,self 指当前的实例对象。2. 调用实例方法时 阅读全文
摘要:
###实例属性和实例方法 ###实例属性 实例属性是从属于实例对象的属性,也称为“实例变量”。他的使用有如下几个要点:1. 实例属性一般在__init__()方法中通过如下代码定义: self.实例属性名 = 初始值2. 在本类的其他实例方法中,也是通过 self 进行访问: self.实例属性名3 阅读全文
摘要:
###__init__构造方法和__new__方法 类是抽象的,也称之为“对象的模板”。我们需要通过类这个模板,创建类的实例对象,然后才能使用类定义的功能。我们前面说过一个 Python 对象包含三个部分:id(identity 识别码)、type(对象类型)、value(对象的值)。现在,我们可以 阅读全文
摘要:
###类的定义 我们把对象比作一个“饼干”,类就是制造这个饼干的“模具”。 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打包在一起”。 对象是类的具体实体,一般称为“类的实例”。类看做“饼干模具”,对象就是根据这个“模具”制造出的“饼干”。 从一个类创建对象时,每个 阅读全文