内容正文:
YCF
(中职)Python编程基础与应用电子课件类的方法
1
类的方法
主讲: 朱海鑫
:
《Python编程基础与应用》配套课件
2
+
contents
目
录
Python类的成员方法简介
特殊方法
公有方法、私有方法
类方法和静态方法
《Python编程基础与应用》配套课件
3
Python类的成员方法简介
01
《Python编程基础与应用》配套课件
4
Python类的成员方法可以分为公有方法、私有方法、静态方法、类方法、抽象方法和一些特殊方法等。
1)所谓的特殊方法是指方法的两侧各有两个下画线(__),它经常与某个运算符或者内置函数相对应用,比如__init__()和__del__()就是这一类方法。
2)私有方法的名字以两个或者更多个下画线开始。
3)公有方法可以通过对象名直接调用。私有方法不能通过对象名直接调用,可以在其它实例方法中通过前缀self进行调用,或在外部通过特殊的形式来调用。
4)抽象方法一般定义在抽象类中并且要求派生类必须重新实现。本教材不对抽象类作研究。
5)“实例方法”可以分为公有方法、私有方法、抽象方法和一些特殊方法。
6)静态方法和类方法不是“实例方法”,不属于任何实例,不会绑定到任何实例,也不依赖于任何实例状态,因此与实例方法相比能减少很多开销。
7)静态方法使用@staticmethod为装饰器,可以没有参数。动态方法使用@classmethod为装饰器,它必须有参数,并且一般以cls作为第一个参数表示该类本身。
Python类的成员方法简介
《Python编程基础与应用》配套课件
5
特殊方法
02
《Python编程基础与应用》配套课件
6
1.__init__()方法
__init__() 方法是一个特殊的类实例方法,称为构造方法(或构造函数)。构造方法用于创建对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它。Python 类中,手动添加构造方法的语法格式如下:
def __init__(self,...):
代码块
此方法的方法名中,开头和结尾各有2个下划线,且中间不能有空格。Python 中很多这种以双下划线开头、双下划线结尾的方法,都具有特殊的意义。self 代表类的实例,self 在定义类的方法时是必须有的。
《Python编程基础与应用》配套课件
7
范例7-4:定义构造方法并自动初始化汽车属性
下面我们来自定义构造方法,初始化汽车属性,传入不同的weight和colour属性值,创建多少个Car对象:
class Car:
def __init__(self,sname,sweight,scolour): #构造方法
self.name=sname
self.weight=sweight
self.colour=scolour
def run(self):
print(str(self.weight)+"顿重的"+str(self.colour)+str(self.name)+"的汽车在行驶中。")
car1=Car("宝马",4,"蓝色") #创建对象,传入形参
car1.run() #调用方法
car2=Car("皇冠",3,"黑色") #创建对象,传入形参
car2.run()
《Python编程基础与应用》配套课件
8
2.__del__()方法
__del__()称为析构方法,当对象被销毁时执行的操作,一般用于资源回收。Python有垃圾回收机制,程序结束时会自动调用__del__(),也可手动调用del语句删除对象。语法格式如下:
def __del__(self,...):
代码块
《Python编程基础与应用》配套课件
9
范例7-5:自动调用析构方法的演示
通过范例来说明一下自动调用析构方法的演示:
class Fruit:
def __del__(self):
print("析构方法被调用")
apple=Fruit()
del apple
print("程序结束")
从范例7-3的运行结果可以发现,手动调用析构方法是执行del语句直接删除对象。
《Python编程基础与应用》配套课件
10
公有方法、私有方法
03
《Python编程基础与应用》配套课件
11
公有方法、私有方法
私有方法(private)的定义如同私有属性定义一样,在方法名字前面加两个下划线“__”标识符。
公有方法(public)就是方法前面没有加两个下划线“__”标识符的方法,与私有方法相对而言。
在类的内部,使用 def 关键字可以为类定义一个私有方法或者公有方法方法,与一般函数定义不同,它