百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

跟我自学python 第9章 类(9.4.6 在一个模块中导入另一个模块)

off999 2024-11-26 07:19 32 浏览 0 评论

大家好今天学习9.4.6 在一个模块中导入另一个模块 。今天我们继续学习python。马上类就学完了。

喜欢python就关注冠山巡山使。 我将跟大家一块自学完python语言。

9.4.6 在一个模块中导入另一个模块

有时候,需要将类分散到多个模块中,以免模块太大,或在同一个模块中存储不相关的类。
将类存储在多个模块中时,你可能会发现一个模块中的类依赖于另一个模块中的类。在这种情况
下,可在前一个模块中导入必要的类。
例如,下面将Car类存储在一个模块中,并将ElectricCar和Battery类存储在另一个模块中。
我们将第二个模块命名为electric_car.py(这将覆盖前面创建的文件electric_car.py),并将Battery和ElectricCar类复制到这个模块中:

electric_car.py
代码1(类代码)

"""一组可用于表示电动汽车的类"""
from car import Car

class Battery():
	"""定义一个电瓶的类"""
	def __init__(self,battery_size=70):
		"""初始化电瓶的容量"""
		self.battery_size=battery_size
	def describe_battery(self):
		print("这个电瓶容量是"+str(self.battery_size)+"千瓦")		
		
	def get_range(self):
		"""打印一条消息,指出电瓶的续航里程"""	
		if self.battery_size==70:
			range=240
		elif self.battery_size==85:
			range=270
		message="这个汽车大概能开"+str(range)
		message="充满电后的续航里程"
		print(message)




class ElectricCar(Car):
	"""我们定义了子类ElectricCar,并指定父类的名称Car"""
	"""
	电动汽车的独特之处
	初始化父类的属性,再初始化电动汽车特有的属性
	"""
	
	def __init__(self,make,model,year):
		"""初始化父类属性"""
		super().__init__(make,model,year)
		self.battery=Battery()
		
		

	def fill_gas_tank():
		"""定义一个汽车没有邮箱方法"""
		print("这两汽车没有邮箱")



ElectricCar类需要访问其父类Car,因此在?处,我们直接将Car类导入该模块中。如果我们
忘记了这行代码, Python将在我们试图创建ElectricCar实例时引发错误。我们还需要更新模块
car,使其包含Car类:
car.py
代码2(代码类)

"""一个可用于表示汽车的类"""
class Car():
	"""一次模拟汽车的简单尝试"""
	def __init__(self, make, model, year):
		"""我们定义了方法__init__()里面有四个形参"""
		"""初始化描述汽车的属性"""
		self.make= make 
		"""定义变量品牌"""
		self.model= model
		"""定义变量型号"""
		self.year= year
		"""定义变量生产日期"""
		self.odometer_reading=0
		"""添加一个名为odometer_reading的变量属性值为0"""
		
		
	def get_descriptive_name(self):
		"""定义get这个方法"""
		"""返回整洁的描述性信息"""
		long_name= str(self.year)+ ' ' + self.make + ' ' +self.model
		return long_name.title()
		
	def read_odometer(self):
		"""添加read_odometer方法"""
		"""打印一条指出汽车里程的消息"""
		print("这个车辆有"+ str(self.odometer_reading) +"公里")	
	
	def update_odometer(self,mileage):
		"""将里程表读数设置为指定的值"""
		"""
		将里程表读数设置为指定的值
		禁止将里程表读数往回调
		"""
		if mileage>=self.odometer_reading:
			"""如果行驶里程数>=里程表读数"""
			self.odometer_reading=mileage
			"""行驶里程数就可以赋值给里程表"""
		else:
			"""如果不是"""
			print("这个车的里程表"+ str(mileage) +"不能往回调")
			"""就打印出这个车的里程表不能往回调"""
	def increment_odoment(self,miles):
		""""将里程表读数增加指定的量"""
		self.odometer_reading += miles
		



现在可以分别从每个模块中导入类,以根据需要创建任何类型的汽车了:
my_cars.py
代码3(代码测试正常)

"""新代码1"""
from car import Car
from electric_car import ElectricCar 
"""新代码1"""

my_beetle=Car('大众','甲壳虫',2016)
print(my_beetle.get_descriptive_name())

my_tesla=ElectricCar('特斯拉','ms',2020)
print(my_tesla.get_descriptive_name())



在新代码1处,我们从模块car中导入了Car类,并从模块electric_car中导入ElectricCar类。接下
来,我们创建了一辆普通汽车和一辆电动汽车。这两种汽车都得以正确地创建:

2016 大众 甲壳虫
2020 特斯拉 Ms

9.4.7 自定义工作流程

正如你看到的,在组织大型项目的代码方面, Python提供了很多选项。熟悉所有这些选项很
重要,这样你才能确定哪种项目组织方式是最佳的,并能理解别人开发的项目。
一开始应让代码结构尽可能简单。先尽可能在一个文件中完成所有的工作,确定一切都能正
确运行后,再将类移到独立的模块中。如果你喜欢模块和文件的交互方式,可在项目开始时就尝
试将类存储到模块中。先找出让你能够编写出可行代码的方式,再尝试让代码更为组织有序。

因为后面代码篇幅比较大。大家看起来也不便。所以自学教程我会分割的比较多些。类还有几小节就学完了。

今天我们终于把类学完了。明天学习 Python 标准库

如果喜欢可以 点赞+关注冠山巡山使 or 评论+转发此文章让其他喜欢Python的同学看到吆 。明天见!

关注冠山巡山使+私信:“编辑器”三个字 就可以有这个编辑器的下载地址了。
关注冠山巡山使+私信:“自学python”可以下载此教程!(我是参考此教程做的自学课程。大多数人儿只是下载下来。看完的很少。希望能跟我一块自学完!)

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: