1. 程式人生 > >《Python程式設計從入門到實踐》記錄之類的使用

《Python程式設計從入門到實踐》記錄之類的使用

目錄

1、給屬性指定預設值

2、修改屬性的值


1、給屬性指定預設值

類中,給在方屬性指定預設值是在init_()內指定初始值。如果指定了預設值,在建立例項時,就不用包含提供初始值的形參。

下邊例子是統計汽車資訊的類,其中為odometer_reading屬性的初始值總是0(指定了預設值):

#!/usr/bin/env python
# -*- coding:utf-8 -*-
class Car():
    """一次模擬汽車的簡單嘗試"""

    def __init__(self, make, model, year):
        """初始化描述汽車的屬性"""
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0  # 指定預設值

    def get_descriptive_name(self):
        """返回整潔的描述性資訊"""
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()
    
    def read_odometer(self):
    """列印一條指出汽車裡程的訊息"""
    print("This car has " + str(self.odometer_reading) + " miles on it.")
    
my_new_car = Car('audi', 'a4', 2016)
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer()

執行結果:


2、修改屬性的值

 修改屬性的值,可以通過例項直接修改屬性值;通過方法進行設定;通過方法進行遞增(增加特定的值)。

(1)例項直接修改屬性值:

class Car():
    --snip--

my_new_car=Car('audi', 'a4', 2016)
print(my_new_car.get_descriptive_name())

my_new_car.odometer_reading=23   # 通過例項直接修改屬性的值
my_new_car.read_odometer()

   執行結果


(2)通過方法修改屬性的值

class Car():
    --snip--
    
    # 新增的方法來修改屬性的值
    def update_odometer(self, mileage):
        """將歷程表讀數設定為指定的值"""
        self.odometer_reading = mileage

my_new_car=Car('audi', 'a4', 2016)
print(my_new_car.get_descriptive_name())

my_new_car.update_odometer(23)
my_new_car.read_odometer

執行結果:


(3)通過方法對屬性的值ji逆行遞增

class Car():
    --snip--

    def update_odometer(self,mileage)
        --snip--

    # 通過方法對屬性的值進行遞增
    def increment_odometer(self, miles):
        """將里程錶讀數增加指定的量"""
        self.odometer_reading += miles

my_used_car = Car('audi', 'a4', 2014)
print(my_used_car.get_descriptive_name())

my_used_car.update_odometer(23500)
my_used_car.read_odometer()

my_used_car.increment_odometer(100)  # 通過方法遞增100miles
my_used_car.read_odometer()

執行結果: