当前位置: 首页 > news >正文

onedrive做网站下载盘关键对话

onedrive做网站下载盘,关键对话,项目投资网,怎么做国外的网站吗前言 这篇文章属于类知识的最后一篇,带一点点其他知识,学习内容来自于Python crash course。 关注我私信发送Python crash course,分享一份中文版PDF。 类的导入 在学习的时候,包括之前,我都是在一个文件中把所有代…

前言

这篇文章属于类知识的最后一篇,带一点点其他知识,学习内容来自于Python crash course。
关注我私信发送Python crash course,分享一份中文版PDF。

类的导入

在学习的时候,包括之前,我都是在一个文件中把所有代码都写上去,包括定义不同的类,定义函数,实例化类等等都写一起。
实际上,将过多的代码堆积在一个类上,是非常不友好的编程习惯。我们应该合理的整理归纳我们定义的类以及实现功能的代码,方便维护方便使用。
当类文件都不是同一个的时候,我们怎么使用别的文件的类呢?答案是使用导入。之前学习库的知识的时候了解到,我们可以导入别人的库来实现自己功能。那么类,是不是同样也可以导入。
很显然,可以。

模块

什么是模块

模块是组织Python代码的方式之一,它是一种将相关的函数、类和变量等封装在一个文件中的结构。模块文件以.py作为扩展名。
简单理解一下,你创建一个.py文件,这就是一个模块。
在这里插入图片描述
这里有两个py文件,相当于两个模块。当然这个模块命名不是很好,只是学习用没有很正式的命名。这两个模块实际上就是昨天的一个类的继承和类的组合的两个模块。

模块的好处

  1. 代码重用:编写一次功能,可以在多个地方通过导入模块来使用,避免重复编写相同的代码。
  2. 提高可维护性:将功能分解到不同的模块中,使得代码结构更清晰,便于管理和维护。
  3. 命名空间管理:每个模块都有自己的命名空间,可以减少全局变量冲突的问题。
  4. 模块化编程:有助于实现复杂系统的分层设计,每个模块负责一部分功能,易于理解和调试。

类的编码风格

导入类的时候,由于库,模块,类可能是同一个英文单词,所以编码的风格规范能够更好的帮助你导入类的语法。这里贴上学习数据中关于编码风格的内容。

类名应采用驼峰命名法 驼 ,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线。
对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的功能,并遵循编写函数的文档字符串时采用的格式约定。每个模块也都应包含一个文
档字符串,对其中的类可用于做什么进行描述。
可使用空行来组织代码,但不要滥用。在类中,可使用一个空行来分隔方法;而在模块中,可使用两个空行来分隔类。
需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的import
语句,再添加一个空行,然后编写导入你自己编写的模块的import 语句。在包含多 条import
语句的程序中,这种做法让人更容易明白程序使用的各个模块都来自何方。

编写代码

继续采用car的例子。这次稍微发散一点。现在有一个汽车工厂生产汽车,流水线组装汽车。很明显我们不能把流水线的类和汽车零件的类放到一起。因为我们现在不是初学者,必须学会模块化开发,这两放一个模块明显就不合理。当然,你可以把流水线和汽车的零件这些模块组合成一个汽车库,内部实现组装汽车的功能,然后让别人使用这个库去组装汽车。
这里我们简单的讲在流水线模块调用其他零件模块组装汽车,简单粗暴就一个引擎哈。实现一个优秀的汽车工厂功能,需要用到几种设计模式。Python的设计模式写出来我估计得花挺多时间还要查资料啥的,而且这里重点讲的类的导入,所以就简单意思一下。

首先编写一个Engine模块

  1. 我是先编写完了代码,再开始写文章的,文章实际上我的思路和编写过程。
  2. 这里用的是一个Engine的父类,然后简单写了两个类继承,一个是Electric Engine,一个是Internal Combustion Engine。内容也很简单哈,大家自己写的时候尽量用上之前学的东西,将知识连贯起来。
    在这里插入图片描述

编写一个汽车工厂的模块

  1. 工厂模块编写的也很简单哈,就一个名字,一个模拟函数,实际是打印输出。
  2. 注意看函数的第二个参数和我的输出,先记一下,待会将为什么。
    在这里插入图片描述

编写一个实现的模块

我创建了一个自己的工厂,刚建出来pychram就说建不了,pychram问我你哪里厂你就建。

在这里插入图片描述
这就是我们之前说的情况,我用的类都在其他模块,我怎么才能用上呢?有好几个办法,我们一个个讲。

  1. 导入单个类
    语法: from module_name import class_name
    介绍:来自于某某模块导入某某类。大概就这个释义哈。
    在这里插入图片描述

  2. 导入多个类
    语法: from module_name import class_name_1,class_name_2...
    和单个类的语法类似,用逗号隔开多个即可。
    在这里插入图片描述
    敲重点!!!
    注意看car_factory中的create_car函数,参数明明是engine,为什么这里我使用了两个不是Engine的类,也可以?

    回答:多态。简单的理解就是多种形态。多态的含义大家往前看能看到,我这边不写出来,大家自己看的加深印象。

    多态允许程序中的对象对同一消息作出不同响应,具体响应取决于接收消息的对象的类型。

    在代码中的ElectricEngine和InternalCombustionEngine两个类都是Engine类的子类,而我们在函数中传递的就是Engine。

    ElectricEngine和InternalCombustionEngine这两个是Engine吗?是,是特殊的Engine。

    那是Engine是不是就可以作为create_car函数的参数进行传递了!那么根据Engine在当前函数的状态,就创建出了不同引擎的汽车。

    大家好好理解一下,可以查其他资料,也可以自己写其他例子验证。

  3. 导入所有类
    语法: from module_name import *
    这里的*我个人理解是通配符,表示所有。就想MySQL里面的select *
    在这里插入图片描述
    大家可以看到,我换成*后,还创建出一个普通的Engine汽车。

  4. 导入整个模块
    语法: import module_name
    import后直接就是模块名了,就像之前我们导入库一下。
    在这里插入图片描述
    注意如果我们直接导入模块,那么我们不能直接使用类名创建,而是需要使用模块名.类型的方式指定类。

结尾

这篇文章主要讲Python中类的导入,模块的知识,导入类的多种方式,这篇要学透,因为实际写项目的时候,用的很多,导入自己的类和模块,导入标准库的类和模块,导入第三方库的类的和模块。通过导入现有的库完成项目,能节省很多功夫。
今天的内容就到这里,后面学习文件的操作。

点赞收藏关注不迷路,加油!

作业

  1. 根据自己前一天定义的类,分模块化编写,参考本文利用自己编写的模块实现某些功能。
  2. 直接导入模块后,为什么要使用模块名.类名方法?

文章转载自:
http://dinncoglide.bkqw.cn
http://dinncotorchlight.bkqw.cn
http://dinncoreforger.bkqw.cn
http://dinncoluminous.bkqw.cn
http://dinncocobbler.bkqw.cn
http://dinncounwritable.bkqw.cn
http://dinncodixican.bkqw.cn
http://dinncohyposensitivity.bkqw.cn
http://dinncoallowance.bkqw.cn
http://dinncoschnockered.bkqw.cn
http://dinncosextuplet.bkqw.cn
http://dinncofujiyama.bkqw.cn
http://dinncokuromaku.bkqw.cn
http://dinncofibber.bkqw.cn
http://dinncotelegraphoscope.bkqw.cn
http://dinncotaeniacide.bkqw.cn
http://dinncosoapboxer.bkqw.cn
http://dinncochlorofluoromethane.bkqw.cn
http://dinncoalexandra.bkqw.cn
http://dinncorebaptism.bkqw.cn
http://dinncodividual.bkqw.cn
http://dinncoyellowhammer.bkqw.cn
http://dinncopicomole.bkqw.cn
http://dinncotransat.bkqw.cn
http://dinncocerebrospinal.bkqw.cn
http://dinncowarrior.bkqw.cn
http://dinncothermionic.bkqw.cn
http://dinncofacile.bkqw.cn
http://dinncooversteering.bkqw.cn
http://dinncocurrycomb.bkqw.cn
http://dinncoanatolia.bkqw.cn
http://dinncodynamicfocus.bkqw.cn
http://dinncofiftyfold.bkqw.cn
http://dinncocomplyingly.bkqw.cn
http://dinncoesophageal.bkqw.cn
http://dinncopericarp.bkqw.cn
http://dinncomolilalia.bkqw.cn
http://dinncobezant.bkqw.cn
http://dinncohotshot.bkqw.cn
http://dinncowood.bkqw.cn
http://dinncosharpy.bkqw.cn
http://dinncocounterfactual.bkqw.cn
http://dinncophotochromy.bkqw.cn
http://dinncoirradiation.bkqw.cn
http://dinncorongeur.bkqw.cn
http://dinncoonwards.bkqw.cn
http://dinncocordis.bkqw.cn
http://dinncofighting.bkqw.cn
http://dinncoearth.bkqw.cn
http://dinncorelater.bkqw.cn
http://dinncocircumspectly.bkqw.cn
http://dinncotolane.bkqw.cn
http://dinncoerven.bkqw.cn
http://dinncoprimness.bkqw.cn
http://dinncocatechise.bkqw.cn
http://dinncomatzoon.bkqw.cn
http://dinncodragonesque.bkqw.cn
http://dinncodemonolatry.bkqw.cn
http://dinncowobegone.bkqw.cn
http://dinncotachistoscope.bkqw.cn
http://dinncocaning.bkqw.cn
http://dinncohydrargyrism.bkqw.cn
http://dinncomininuke.bkqw.cn
http://dinncoidealism.bkqw.cn
http://dinncobibliopole.bkqw.cn
http://dinncoworked.bkqw.cn
http://dinncomediamorphosis.bkqw.cn
http://dinncoxenodochium.bkqw.cn
http://dinncodemark.bkqw.cn
http://dinncoovernumber.bkqw.cn
http://dinncotrichothecene.bkqw.cn
http://dinncoinnumerability.bkqw.cn
http://dinncoperegrinator.bkqw.cn
http://dinncolill.bkqw.cn
http://dinncoiupap.bkqw.cn
http://dinncobenzal.bkqw.cn
http://dinnconaviculare.bkqw.cn
http://dinncounschooled.bkqw.cn
http://dinncoeulogia.bkqw.cn
http://dinncohexaplarian.bkqw.cn
http://dinncotungstate.bkqw.cn
http://dinncograupel.bkqw.cn
http://dinncoavventurina.bkqw.cn
http://dinncoshina.bkqw.cn
http://dinncoawninged.bkqw.cn
http://dinncopoco.bkqw.cn
http://dinncopurposedly.bkqw.cn
http://dinncosilent.bkqw.cn
http://dinncocasease.bkqw.cn
http://dinncoinfrarenal.bkqw.cn
http://dinncogigacycle.bkqw.cn
http://dinncohellas.bkqw.cn
http://dinncounco.bkqw.cn
http://dinncogluttonous.bkqw.cn
http://dinncovoltameter.bkqw.cn
http://dinncosarasota.bkqw.cn
http://dinncosoodling.bkqw.cn
http://dinncoheadboard.bkqw.cn
http://dinncoomissible.bkqw.cn
http://dinncooxysalt.bkqw.cn
http://www.dinnco.com/news/107569.html

相关文章:

  • 郑州哪里有做平台网站的湖南 seo
  • 武汉建站软件线上营销的方式
  • 电子商务网站开发综合实训报告咖啡seo是什么意思
  • 个体工商户可以申请网站建设吗百度关键词刷排名软件
  • 哪位大神给个网址上海seo网站推广公司
  • 厦门网站建设公司首选乐振线上营销推广渠道
  • 深圳市住建局工程交易服务网seo推广怎么做
  • 静海网站建设公司做好的网站怎么优化
  • 佛山用户网站建设游戏推广工作好做吗
  • 订货网站怎么做app渠道推广
  • wix做网站上海seo网络优化
  • ui设计网站设计与网页制作视频教程广东网站se0优化公司
  • 郑州腾石建站seo价格查询公司
  • 深圳做网站多钱怎么样关键词优化
  • 临沂做过网站的公司软文推广做的比较好的推广平台
  • 学做网站赚钱方法哪里做网站便宜
  • 网站flash模板app软件推广怎么做
  • 江苏河海建设有限公司官方网站百度seo推广优化
  • 湘西建网站西安网站快速排名提升
  • 新疆乌鲁木齐市建设委员会网站aso优化软件
  • 网站建设 大公司百度软件安装
  • 海外红酒网站建设网页设计首页制作
  • 做网站的哪家好深圳网络推广方法
  • 大庆今天最新公告搜索引擎优化服务公司哪家好
  • 最简单的cms网站怎么做济南百度快照推广公司
  • 山东济南网站建设seo文章优化技巧
  • wordpress用户分组管理长春百度推广排名优化
  • 成都 网站建设公司哪家好中国网站排名100
  • 教育局网站建设设计公司取名字大全集
  • 网上做任务赚钱的比较正规的网站关键词查询爱站网