Python模块详解
1.python程序由包(package)、模块(module)和函数组成。
2.包是由一系列模块组成的集合。当不同的模块进行按文件夹分类后再组成一个整体的库,可以称为包。为了让Python将目录当做内容包,目录中必须包含init.py文件,用于标识当前文件夹是一个包。最简单的情况下,只需要一个空的_init.py文件即可。
3.模块是处理某一类问题的函数和类的集合,由代码、函数和类组成。每个模块文件是一个独立完备的命名空间。
导入其他库及引用:
import 模块名
import 模块名,模块名
import 模块名 as 别名
import 模块名 as 别名,模块名 as 别名
模块名.函数名
import sys
导入sys模块后,我们就有了变量sys指向该模块,利用sys这个变量,就可以访问sys模块的所有功能。sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称。
导入某个模块的制定对象及引用:
from 模块名 import 对象名
from 模块名 import 对象名 ,对象名
from 模块名 import 对象名 as 别名
from 模块名 import 对象名 as 别名,对象名 as 别名
引用时直接引用
所有函数一次性导入:
from 模块名 import *
引用时直接引用
该引用无法实现相同的变量名在各自的区域内自由使用,其主要作用是在import 模块名的基础上不用写模块名,直接写函数。
Python 内置的有 __name__ 变量。当直接运行一个模块时,name 变量的值为 __main__;而将模块被导入其他程序中并运行该程序时,处于模块中的 __name__ 变量的值就变成了模块名。
if __name__ == '__main__':只有在直接运行模块文件测试时才执行,引用时不执行。
如果a.py中import了numpy包,b.py中import了a.py,那么在b.py中使用numpy包,是否需要再写一次import numpy as np呢?答案是不需要,但需要根据导入的模块情况进行调用。
t1.py
def say():
print("人生苦短,我学Python!")
t2.py
import t1
t3.py
import t2
t2.t1.say()
t1.py
def say():
print("人生苦短,我学Python!")
t2.py
from t1 import say
t3.py
import t2
t2.say()