python的module
python的模块也是一个python文件,
有两种方式引用模块,
1、通过import xxx直接引入。xxx表示不带.py后缀名的模块名称
比如说:
文件py_ex_mod.py
def func_add(a, b):
print ("a+b = %d"%(a+b))
return a+b
def func_sub(a,b):
print ("a-b = %d"%(a-b))
return a-b
def func_mul(a, b):
print ("a*b = %d"%(a*b))
return a*b
def func_div(a, b):
print ("a/b = %d"%(a/b))
return a/b
在我们的文件py_ex.py中,可以通过import py_ex_mod来引用,
注意,这种方法中,被引用的模块中的函数,需要加上模块名!比如下面的py_ex_mod.func_add(1,2) ,py_ex_mod是模块名,func_add是函数名。
import py_ex_mod
py_ex_mod.func_add(1,2)
py_ex_mod.func_sub(1,2)
py_ex_mod.func_mul(1,2)
py_ex_mod.func_div(1,2)
运行结果:
PS D:\workspace\LPH> python.exe .\py_ex.py
a+b = 3
a-b = -1
a*b = 2
a/b = 0
2、通过from xxx import *来引用所有xxx模块的函数。这时候函数名前面就不必加模块名。
from py_ex_mod import *
func_add(1,2)
func_sub(1,2)
func_mul(1,2)
func_div(1,2)
运行结果同上。
注意,这时候本文件中不能有函数和模块中的函数同名!不然文件中的实现会被覆盖!
from py_ex_mod import *
def func_add():
return 10;
func_add(1,2)
func_sub(1,2)
func_mul(1,2)
func_div(1,2)
运行结果:
PS D:\workspace\LPH> python.exe .\py_ex.py
Traceback (most recent call last):
File ".\py_ex.py", line 19, in <module>
func_add(1,2)
TypeError: func_add() takes 0 positional arguments but 2 were given
PS D:\workspace\LPH>