Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的Python代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。
导入模块
在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉.py后缀。导入模块的方式有如下几种:
1). import PackageA.SubPackageA.ModuleA #使用时必须用全路径名
2). from PackageA.SubPackageA import ModuleA #以直接使用模块名而不用加上包前缀。
3). from PackageA.SubPackageA.ModuleA import functionA #直接导入模块中的函数或变量
1. 当使用import item.subitem.subsubitem语法时,最后一个item之前的item必须是包,最后一个item可以是一个模块或包,但不能是类、函数和变量;
2. 当使用from package import item时,item可以是package的子模块或子包,或是其他的定义在包中的名字(比如一个函数、类或变量);首先检查item是否定义在包中,不过没找到,就认为item是一个模块并尝试加载它,失败时会抛出一个ImportError异常。
3. from pacakge import * 如果包的__init__.py定义了一个名为__all__的列表变量,它包含的模块名字的列表将作为被导入的模块列表。如果没有定义__all__, 这条语句不会导入所有的package的子模块,它只保证包package被导入,然后导入定义在包中的所有名字。
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
下面就通过Pycharm先建立一个目录modules,再建立一个python包main,最后创建一个client..py的文件。创建包文件main时工具会自动创建一个___init__.py的python文件,且该文件是必须的。
本文出自 “DreamScape” 博客,请务必保留此出处http://dyqd2011.blog.51cto.com/3201444/1980253
原文地址:http://dyqd2011.blog.51cto.com/3201444/1980253