python3基础-模块

来源:互联网 发布:内蒙古人民出版社 知乎 编辑:程序博客网 时间:2024/06/05 04:24
import sysprint(sys.path)"""import funcfunc.printinfo("xxx","xxx again")print2=func.printinfoprint2("fuck","you","laomu")"""#from func import printinfo#printinfo("xxx","xxx again")"""使用from modname import *也可以全部导入;每个魔抗都有自己各自独立的符号表,在魔抗内部所有的函数当做全局符号来使用一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。 """import funcprint(dir(func))#找到魔抗内定义的所有名称import sysprint(dir(sys))print(dir())#列举当前模块"""主要用于管理命名空间;在导入一个包的时候,Python会根据sys.path中的目录来寻找这个包中包含的子目录;目录只有包含一个叫做__init__.py的文件才会被当做一个包;用户可以每次只导入包中的一个模块,导入方法和之前导入方法是一样的; 导入语句遵循如下规则:如果包定义文件 __init__.py 存在一个叫做 __all__ 的列表变量, 那么在使用 from package import * 的时候就把这个列表中的所有名字作为包内容导入。作为包的作者,可别忘了在更新包之后保证 __all__ 也更新了啊。如果在结构中包是一个子包(比如这个例子中对于包sound来说),而你又想导入兄弟包(同级别的包)你就得使用导入绝对的路径来导入。 无论是隐式的还是显式的相对导入都是从当前模块开始的。主模块的名字永远是"__main__" 一个Python应用程序的主模块,应当总是使用绝对路径引用。包还提供一个额外的属性__path__。这是一个目录列表,里面每一个包含的目录都有为这个包服务的__init__.py你得在其他__init__.py被执行前定义哦。"""
原创粉丝点击