前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python面向对象编程(OOP) —— 修改属性

Python面向对象编程(OOP) —— 修改属性

作者头像
Gorit
发布2021-12-09 16:29:28
6730
发布2021-12-09 16:29:28
举报
文章被收录于专栏:Gorit 带你学全栈系列

这里就补充面向对象编程中遗漏的知识点

目录

修改类中数型的方法

一、给定一个类,修改其属性的值

1、 直接修改属性的值

2、通过方法来修改

3、 通过方法,对属性的值进行递增

修改类中数型的方法

一、给定一个类,修改其属性的值

修改属性的值有三种方法:直接通过实例进行修改;通过方法进行设置;通过方法进行递增(增加的值)

首先我们定义一个车的类型的类,然后再加上车行驶的距离的一个属性赋初值 0

代码语言:javascript
复制
class Car:

    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
        self.orometer_reading = 0 #这个是我们定义的车行驶的距离

    def get_description(self):
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name

    def read_odometer(self):
        print("This car has "+ str(self.orometer_reading) + " miles on it")

my_new_car = Car("aodi", "a6", 2017)
print(my_new_car.get_description())
my_new_car.read_odometer()

1、 直接修改属性的值

代码语言:javascript
复制
class Car:

    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
        self.orometer_reading = 0

    def get_description(self):
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name

    def read_odometer(self):
        print("This car has "+ str(self.orometer_reading) + " miles on it")


my_new_car = Car("aodi", "a6", 2017)
print(my_new_car.get_description())


#直接更改,修改初始化中的属性--
my_new_car.orometer_reading = 14
my_new_car.read_odometer()

2、通过方法来修改

我们在原有的程序基础上再 加一个方法,加入判定条件:汽车走过的路程是不能减少的

代码语言:javascript
复制
   接着上面的程序 
    def update_orometer(self,miles):
        if miles >= self.orometer_reading:
            self.orometer_reading = miles
        else:
            print("You can'troll back an odometer")


#通过方法来修改
my_new_car.update_orometer(25)
my_new_car.read_odometer()

3、 通过方法,对属性的值进行递增

也就是说,我们需要再定义一个方法,在原有的路程进行增加走过的路程

代码语言:javascript
复制
    接上
    def increase(self,miles):
        self.orometer_reading +=miles

#通过方法对属性的值进行递增
my_used_car = Car("bentian","outback",2006)
print(my_used_car.get_description())

my_used_car.update_orometer(3500)#先赋值,更新现在所走的路程
my_used_car.read_odometer()

my_used_car.increase(100)
my_used_car.read_odometer()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/01/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改类中数型的方法
    • 一、给定一个类,修改其属性的值
      • 1、 直接修改属性的值
      • 2、通过方法来修改
      • 3、 通过方法,对属性的值进行递增
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档