《Python程式設計從入門到實踐》記錄之類的使用
阿新 • • 發佈:2018-11-28
目錄
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()
執行結果: