python中module或者module中函数的导入:
1、import:模块名
2、import:模块名 as 新名字
3、from 模块名 import 函数名
说明:
1、import 将整个模块导入,当使用模块中的函数时,需在函数明前面加上:“模块名.”
2、from 则是将模块中的函数导入,当药导入多个函数,使用“,”分隔各个函数。当要导入模块中的所有函数使用 ‘*’ 代替。使用函数是直接使用,不需要加:“模块名.”
3、在Python中还可以通过使用内置函数reload重新载入模块。reload可以在模块被修改的情况下不必关闭python而重新载入模块,在使用它重新载入模块时,该模块必须已经事先被导入。
编写一个module:
可以再模块中定义变量:name
文件名:test.py
内容:def:show(): 定义一个函数
print "This is a test"
name = “name test” 定义一个变量
使用模块文件名:use.py
内容:import test from test import show
test.show() show()
模块的查找路径:
在导入模块时,python解释器首先会在当前工作目录中查找导入的模块。如果没有找到,就在sys模块中的path变量指定的目录中(import sys sys.path)查找导入的模块,如果还没有找到,则发生错误.
在脚本中可以向sys.path变量中添加模块查找路径。
将当前目录下的modules目录加入到sys.path变量中
eg:import os,sys
modulepath = os.getcwd()+'/modules' 前目录下的modules目录
sys.path.append(modulepath)
module独立运行:__name__属性
每个python脚本在运行时都有一个__name__属性,在脚本中可以通过对__name__属性值进行判断,可以让脚本在作为导入module或独立运行时都可以正确的运行。
1、如果python脚本是作为导入模块,则__name__属性被设置为模块名
2、如果python脚本是作为独立运行的,则__name__属性被设置为__main__
因此可以通过__name__属性来判断python脚本的运行状态。
dir()函数:如果需要获得所导入module中定义的所有变量和函数的名字等,可以使用dir()函数
dir()函数的原型:dir([object]) 其中object是一个可选的参数,当参数为空的时候,dir()函数将返回当前脚本的所有名字列表。
eg:import sys
dir(sys)
可变长参数:
使用可变长参数的函数,将其所有的参数保存在一个元组里面,在函数中可以用for循环来处理。声明一个可变长参数的函数只需要一“*”开头定义一个参数即可
def listappend(*list): 可变长参数的定义
l=[]
for i in list:
l.extend(i)
return l
a=[1,2,3]
b=[4,5,6]
c=[7,8,9,0]
"two parameters"
print listappend(a,b)
print listappend(a,c)
print listappend(b,c)
"three parameters"
print listappend(a,b,c)
l=[]
for i in list:
l.extend(i)
return l
a=[1,2,3]
b=[4,5,6]
c=[7,8,9,0]
"two parameters"
print listappend(a,b)
print listappend(a,c)
print listappend(b,c)
"three parameters"
print listappend(a,b,c)
python中函数参数的传递:
1、按声明函数时参数的顺序进行传递
2、按参数名传递
主要是在带有默认参数值的情况下,后者比较方便。
def fun(x,y,z):
return x+y-z
fun(1,2,3) x=1,y=2,z=3 参数的顺序进行传递
return x+y-z
fun(1,2,3) x=1,y=2,z=3 参数的顺序进行传递
fun(z=1,x=2,y=3) 参数名传递
fun(1,z=3,y=2) 合法
fun(z=3,y=2,1) 不合法,顺序不对
fun(5,z=6,x=7) 不合法,重复
注意:按顺序传递的参数要位于按参数名传递的参数之前,而且不能有重复的情况。