• 类(二)


    使用类和实例:

     类编写好之后,你的大部分时间都将花在使用根据类创建的实例上。

    编写一个关于汽车的类

    class Car():
    def __init__(self,make,model,year):
    """汽车的通用属性"""
    self.make = make
    self.model = model
    self.year = year
    def detail_info(self):
    info = str(self.year) + ' ' + self.make + ' ' + self.model
    print(info.title())

    给属性指定默认值:
    类中的每一个属性必须有初始值,哪怕这个值是0或空字符。
    在有些情况下,如设置默认值时,在方法__init__()内指定这种初始值是可行的;

    例如:
    对这个class Car()进行修改
    class Car():
    def __init__(self,make,model,year):
    """汽车的通用属性"""
    self.make = make
    self.model = model
    self.year = year
    self.odometer_reading = 0
    def detail_info(self):
    info = str(self.year) + ' ' + self.make + ' ' + self.model
    print(info.title())
    def get_odometer(self):
    print("出厂里程表: " + str(self.odometer_reading))
    定义了一个默认属性,odometer.reading

    汽车出厂的里程,一般都不会是0,所以我们需要对这个属性进行修改
    修改的方法:
    1、直接修改属性的值
    我的汽车 = Car("audi","a4","2015")
    我的汽车.odometer_reading = '500km'
    我的汽车.detail_info()
    我的汽车.get_odometer()

    2、通过方法修改属性的值
    在类中预设一个更新属性的方法,这样就无需直接访问属性,而是把值传递给这个方法,让其在内部更新。
    class Car():
    def __init__(self,make,model,year):
    """汽车的通用属性"""
    self.make = make
    self.model = model
    self.year = year
    self.odometer_reading = 0

    def update_odometer(self, mileage):
    if mileage >= self.odometer_reading:
    self.odometer_reading = mileage
    else:
    print("You can't roll back an odometer!")
    新定义了一个方法:update_odometer(self,mileage):
    这个方法中加入了if语句,代表如果给的实参≥self.odometer_reading,则更新里程表,反之提示,禁止回滚里程表







     
  • 相关阅读:
    NIS server on centOS 7
    fabric-python-基于centos 7
    玩玩Jenkins
    身份认证技术性能对比
    Linux时区设置和时间同步-基于CentOS 6(最小安装)
    openldap+phpadmin的最简安装和配置
    tomcat8.5的网页管理(远程)配置、SSL证书配置-基于Debian 9
    tomcat添加为service服务-基于Debian 9
    安装、配置MySQL5.8基于Debian 9(用apt-get install 默认安装结果是mariadb)
    下载并配置jdk环境-基于debain 9
  • 原文地址:https://www.cnblogs.com/alben-cisco/p/6843316.html
Copyright © 2020-2023  润新知