隨著你不斷地給類(lèi)添加功能,文件可能變得很長(zhǎng),即便你妥善地使用了繼承亦如此。為遵循Python的總體理念,應(yīng)讓文件盡可能整潔。為在這方面提供幫助,Python允許你將類(lèi)存
儲(chǔ)在模塊中,然后在主程序中導(dǎo)入所需的模塊。
9.4.1導(dǎo)入單個(gè)類(lèi)
下面來(lái)創(chuàng)建一個(gè)只包含Car類(lèi)的模塊。這讓我們面臨一個(gè)微妙的命名問(wèn)題:在本章中,已經(jīng)有一個(gè)名為car.py的文件,但這個(gè)模塊也應(yīng)命名為car.py,因?yàn)樗硎酒?chē)的代
碼。我們將這樣解決這個(gè)命名問(wèn)題:將Car類(lèi)存儲(chǔ)在一個(gè)名為car.py的模塊中,該模塊將覆蓋前面使用的文件car.py。從現(xiàn)在開(kāi)始,使用該模塊的程序都必須使用更具體的文件
名,如my_car.py。下面是模塊car.py,其中只包含Car類(lèi)的代碼
進(jìn)入
https://www.tutorialspoint.com/online_python_ide.php
點(diǎn)右鍵,"create files",如圖:

重命名新創(chuàng)建文件,如圖。

程序如下:
car.py

main.py

car.py的程序:
#!/usr/bin/python
# -- coding: utf-8 --
"""一個(gè)可用于表示汽車(chē)的類(lèi)"""
class Car():
"""一次模擬汽車(chē)的簡(jiǎn)單嘗試"""
def __init__(self, make, model, year):
"""初始化描述汽車(chē)的屬性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回整潔的描述性名稱(chēng)"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
"""打印一條消息,指出汽車(chē)的里程"""
print("This car has " + str(self.odometer_reading) + " miles on it.")
def update_odometer(self, mileage):
"""
將里程表讀數(shù)設(shè)置為指定的值
拒絕將里程表往回?fù)?/p>
"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
"""將里程表讀數(shù)增加指定的量"""
self.odometer_reading += miles
main.py的源碼:
#!/usr/bin/python
# -- coding: utf-8 --
from car import Car
tc =Car("tsl","100S",2015)
print(tc.get_descriptive_name())