Rumah  >  Artikel  >  pembangunan bahagian belakang  >  python中如何定义和调用类详解

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

伊谢尔伦
伊谢尔伦asal
2017-05-22 23:21:022769semak imbas

类的方法的定义

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

      Pass

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

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

类的方法的调用

与普通的函数调用类似

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

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

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

演示一个类:

wash.py
class 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()

程序的运行结果为:

11.png

修改程序如图所示:

washa.py
class 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()

程序的运行结果为:

12.png


类内方法相互调用

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

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

构造方法及其作用

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

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

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

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

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

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

程序演示:

washb.py
class 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()

程序的运行结果为:

13.png

【相关推荐】

1. python类继承讲解

2. 解析Python类的动态修改的实例代码

3. 详解python类实例分析

4. 详解详细介绍l了Python类的继承

5. python类方法与对象方法介绍

Atas ialah kandungan terperinci python中如何定义和调用类详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn