9.4 导入类

随着你不断地给类添加功能,文件可能变得很长,即便你妥善地使用了继承亦如此。为遵循Python的总体理念,应让文件尽可能整洁。为在这方面提供帮助,Python允许你将类存

储在模块中,然后在主程序中导入所需的模块。

9.4.1导入单个类

下面来创建一个只包含Car类的模块。这让我们面临一个微妙的命名问题:在本章中,已经有一个名为car.py的文件,但这个模块也应命名为car.py,因为它包含表示汽车的代

码。我们将这样解决这个命名问题:将Car类存储在一个名为car.py的模块中,该模块将覆盖前面使用的文件car.py。从现在开始,使用该模块的程序都必须使用更具体的文件

名,如my_car.py。下面是模块car.py,其中只包含Car类的代码

进入

https://www.tutorialspoint.com/online_python_ide.php

点右键,"create files",如图:


重命名新创建文件,如图。


程序如下:

car.py


main.py


car.py的程序:

#!/usr/bin/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.")

def update_odometer(self, mileage):

"""

将里程表读数设置为指定的值

拒绝将里程表往回拨

"""

if mileage >= self.odometer_reading:

self.odometer_reading = mileage

else:

print("You can't roll back an odometer!")

def increment_odometer(self, miles):

"""将里程表读数增加指定的量"""

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())

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 要导入模块中的每个类,可使用下面的语法: from mod import * 不推荐使用这种导入方式,其原因有二。...
    python大大阅读 3,437评论 0 0
  • 以导入整个模块,再使用句点表示法访问需要的类。这种导入方法很简单,代码也易于阅读。由于创建类实例的代码都包含模块名...
    python大大阅读 2,865评论 0 0
  • 9.类 基本概念———初探类与对象 “什么是人类”、“什么是狗”、“汽车又是什么”……面对这些问题,我们大多数人会...
    TianAff阅读 3,853评论 1 5
  • 摩拜共享经济、融资等各种高大上的话题我就不多说了。 今天以个人亲身经历,使用摩拜过程中一系列悲催的产品体验,来扒下...
    东东酱酱阅读 5,747评论 1 3
  • reading makes a full man, confernence a ready man, and wr...
    Leonor_Z阅读 1,450评论 0 0

友情链接更多精彩内容