PHP前端开发

python中如何定义和调用类详解

百变鹏仔 2个月前 (02-07) #Python
文章标签 详解

类的方法的定义

1.def fun_name(self,...);

      Pass

2.其中的参数self代表类的实例,在调用方法时由系统自动提供

3.方法定义时必须指明self参数

类的方法的调用

与普通的函数调用类似

立即学习“Python免费学习笔记(深入)”;

1.类的内部调用:self.(参数列表)。

2.在类的外部调用:.(参数列表)。

注意:以上两种调用方法中,提供的参数列表中都不用包括self。

演示一个类:

wash.pyclass Washer:     def init(self):        self.water = 0        self.scour = 0     def add_water(self,water):        print('Add water:',water)        self.water = water     def add_scour(self,scour):        self.scour = scour        print('Add scour:',self.scour)     def start_wash(self):        print('Start wash...') if name == 'main':    w = Washer()    w.add_water(10)    w.add_scour(2)    w.start_wash()

程序的运行结果为:

修改程序如图所示:

washa.pyclass Washer:     def init(self):        self.water = 10        self.scour = 2     def set_water(self,water):        self.water = water     def set_scour(self,scour):        self.scour = scour     def add_water(self):        print('Add water:',self.water)     def add_scour(self):        print('Add scour:',self.scour)     def start_wash(self):        self.add_water()        self.add_scour()        print('Start wash...') if name == 'main':    w = Washer()    w.set_water(20)    w.set_scour(4)    w.start_wash()

程序的运行结果为:


类内方法相互调用

1.在一个类的内部方法之间是可以相应调用的

2.调用方法同上面所述的在类的内部调用方法

构造方法及其作用

1.构造方法就是前面课程提到和使用的_init_()方法。

2.构造方法的作用就是在类实例化时初始化实例。

3._init_()方法就是类实例化的第一步自动调用的函数。

4.注意其方法名是固定的,但其参数同普通方法一样,至少应带有self参数。

5.初始化实例包括:定义和初始化实例属性:或调用类的一些方法。

6.构造方法可以带有除self外的其它各种参数(关键字参数、默认参数、用元组收集参数、用字典收集关键字参数等);可以达到实例化类时,为相应的属性传入指定的值。

程序演示:

washb.pyclass Washer:     def init(self,water=10,scour=2):        self.water = water        self.scour = scour     def set_water(self,water):        self.water = water     def set_scour(self,scour):        self.scour = scour     def add_water(self):        print('Add water:',self.water)     def add_scour(self):        print('Add scour:',self.scour)     def start_wash(self):        self.add_water()        self.add_scour()        print('Start wash...') if name == 'main':    # w = Washer()    # w.start_wash()    wb = Washer(100,10)    wb.set_water(50)    wb.set_scour(5)    wb.start_wash()

程序的运行结果为: