python(笔记0x001)

导入模块

在Python中可以使用下面两种方法导入模块或模块中的函数。

import 模块名

import 模块名  as 新名字

from  模块名  import  函数名

 

#传递任意数量的参数#

在Python中,函数可以具有人一个参数,不必在声明函数时对所有参数进行定义,使用可变长参数函数,其所有参数都保存在一个元组中,在函数中可以使用for循环来处理。声明声明函数时,如果在参数明前加上*号,代表参数是一个可变长参数。代码如下:

 1 def mylistappend(* list):    #定义可变长参数函数
 2     l=[]
 3     for i in list:
 4         l.extend(i)   #将参数列表合并在一起
 5     return l
 6 ...
 7 >>>a=[1,2,3]   #定义列表
 8 >>>b=[4,5,6]
 9 >>>c=[7,8,9]
10 >>>mylistappend(a,b)
11 [1,2,3,4,5,6]
12 >>>mylistappend(a,b,c)   #调用函数,传递三个参数
13 [1,2,3,4,5,6,7,8,9]

 

Python在哪里找模块?

很多时候编写好的模块只有Python找到才能被导入,脚本运行出错提示ImportError:No module named mymodule这是Python解析器没有找到模块的原因。而在导入模块时候,Python解析器会现在当前目录查找导入的模块,如果没有找到,就会从sys模块中的path变量指定的目录查找导入模块。如果以上多有路径的都没有找到导入模块那么就会输出错误信息。

1 >>>import sys
2 >>>sys.path
3 ['', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\
4 \lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27
5 ', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\gtk-2.
6 0', 'C:\\Python27\\lib\\site-packages']

以上输出的就是Python的模块查找路径

可以使用脚本语句添加模块的查找路径。。如下:

1 import os
2 import sys
3 modulepath=os.getcwd()+'\\module'   #获取当前路径
4 sys.path.append(modulepath)     #添加路径到默认模块路径
5 print(sys.path)
6 import mymodule

包管理

在Python中使用目录名,然后再使用模块名导入需要的模块。在每个目录中都必须包含一个“__init__.py”(两个下划线)的文件。"__init__.py"可以是个空文件,作用仅仅就是表示该目录是一个包。

"__init__.py"的主要作用是设置“__all__”变量多包涵的包初始化所需的代码。对于在from中使用"*"通配符导入包内所有名字时,在"__init__.py"中设置"__all__"变量可以保证名字的正确导入。

比方说现在需要导入A目录的B目录下的a.py模块。那么在Python中可以这样写:

from A.B import a    
import A.B.a

包的内部引用

如果是C目录的b.py需要引用A目录的B目录中的a.py,那么可以这样写

from A.B import a

 

posted on 2015-05-20 23:29  h3iß3n  阅读(115)  评论(0)    收藏  举报

导航