最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

零基础学Python:如果学习累,说明没有懂“类”

XAMPP案例 admin 461浏览 0评论

et0048

今天来继续说说“类”。在类中,除了可以指定属性,还可以有默认属性,比如下面这个类:

class Bike:
    def __init__(self,model,year):
        self.model = model
        self.year = year
        self.distance = 0
    def dis(self):
        print(f'The {self.model} has {self.distance} km on it.')

自行车有很多种品类,因此我们定义了一个Bike类。这个类的默认方法__init__有2个参数,model表示自行车的型号,year表示自行车的生产年份。

接下来,我们分别设置了2个属性self.model和self.year,但此时你发现还有一个属性self.distance,而这个属性的默认值是0。它表示自行车行驶的路程。

也就是说,这是该类的一个默认属性,如果你不更改它,它的值就一直是0.

接下来我们定义了一个方法dis,打印出某型号的自行车行驶的公里数。

我们将其实例化,并调用方法看下:

bike_1 = Bike('mountain bike',2021)
bike_1.dis()

输出结果为:

The mountain bike has 0 km on it.

类中的属性是可以修改的,将其直接赋值即可:

bike_1.distance = 10
bike_1.dis()

我们将默认行驶距离设为了10,因此调用方法后的结果也会改变:

The mountain bike has 10 km on it.

如果你不想赋值修改属性,可以将其设为类中的一个方法,通过调用该方法来改动属性:

class Bike:
    def __init__(self,model,year):
        self.model = model
        self.year = year
        self.distance = 0
    def dis(self):
        print(f'The {self.model} has {self.distance} km on it.')
    def update_dis(self,km):
        self.distance = km

在第8行代码中,我们增加了一个update_dis方法,可以将默认距离修改为传入的参数km。

我们将其实例化,并将距离修改为15:

bike_1 = Bike('road bike',2021)
bike_1.update_dis(15)
bike_1.dis()

看下结果:

The road bike has 15 km on it.

自行车的行驶里程当然是逐步增加的,如果你不想有人故意调低里程数,可以在其中加入一个if语句:

class Bike:
    def __init__(self,model,year):
        self.model = model
        self.year = year
        self.distance = 0
    def dis(self):
        print(f'The {self.model} has {self.distance} km on it.')
    def update_dis(self,km):
        if km >= self.distance:
            self.distance = km
        else:
            print("Wrong behavior!")

注意到第9行代码,传入的参数km必须比默认的距离要大,这样就保证了不会回调里程数。

比如我们先将里程数设为15:

bike_1 = Bike('road bike',2021)
bike_1.update_dis(15)

然后再将其设为10:

bike_1.update_dis(10)
Wrong behavior!

这时就会提醒你,不可以回调。

OK,今天的内容就先介绍到这里,下一篇我们继续介绍类,还没完呢!

转载请注明:XAMPP中文组官网 » 零基础学Python:如果学习累,说明没有懂“类”

您必须 登录 才能发表评论!