首先说一句:对于一个真正的Python程序,我们自己来完成所有工作是不现实的,通常我们需要借助第三方类库。而且,我们也不可能把一个完整的程序的源代码写在同一个源文件里,对吧,所以这些都需要把项目的源代码进行模块化的组织。好了,说说Python相关的模块化编程吧!首先,需要了解导入模块的简单语法。下面要牢记,import在Python中是用来导入模块的,所以说下import的用法,主要有两种用法,如下:1.importmodulename1[asalias1],moduleName2[asalias2],...注意上面的“[]”是可选的,上面的语句表示导入整个模块。2.frommodulenameimportmembername1[asalias1],membername2[asalias2],...这个语句的意思是导入模块中指定的成员。**推荐:020持续更新,精品圈每天都有新内容,干货集中度极高。建立联系,讨论技术,你想要的都在这里!成为第一个加入团队并超越同行的人!(入群不收费)点此与Python开发高手交流学习。群号:745895701免费申请:Python软件安装包,免费提供Python实用教程资料,包括Python基础学习、进阶学习、爬虫、人工智能、自动化运维、自动化测试等**以上区别两种导入语句主要如下:1.第一种导入语句导入整个模块中的所有成员,这些成员包括变量、函数、类等;而第二种import语句只导入模块中指定的成员,当然除非你使用frommodulenameimport*,但一般不推荐这种方式。2、使用第一种import语句导入模块中的成员时,必须加上模块名或模块别名前缀;使用第二种导入语句导入模块中的成员时,不需要使用任何前缀,直接使用成员的名字或成员别名即可。#举个“栗子”:#导入整个sys模块importsys#导入整个sys模块,并指定其别名simportsys为s#导入sys、os两个模块importsys、os#导入sys、os两个模块,以及为sys指定别名s,为os指定别名oimportsysass,osaso#Importtheargvmemberinsysmodulefromsysimportargv#importargvmemberinthesysmoduleandassignanaliasvfromsysimportargvasv#导入sys模块中的argv和winver成员fromsysimportargv,winver#导入sys模块中的argv和winver成员,分别指定别名为v和wfromsysimportargvasv,winverasw#importtheargvinthesysmoduleAllmembersfromsysimport下面说说为什么不推荐大家使用importfrommodulenameimport这种形式。原因如下,举个“栗子”吧!因为这种方式有潜在的风险,比如通过这种形式同时导入module1和module2的所有成员,如果这两个module中有ex()函数,那么问题就来了,当执行下面的代码时:ex(),同时存在于两个模块中的函数,是在module1模块中吗?或者在module2模块中?所以,这种导入方式是有潜在风险的!当然,还是有办法规避的。您可以使用以下方法:importmodule1asm1importmodule2asm2这样您就可以通过给两个模块起别名来区分它们。这时候调用ex()函数的时候,可以这样写:m1.ex()m2.ex()这样就很清楚了!还有别的办法吗?当然你也可以使用下面的方法,就是给模块中的同名方法起一个“昵称”(别名):frommodule1importexasex1frommodule2importexasex2这样就可以直接调用ex()方法!ex1()ex2()
