您的位置:首页 > 编程语言 > Python开发

Python笔记3:模块与函数

2012-05-12 11:09 309 查看
1>模块和包

1.Python程序由包,模块,函数和类组成,包内包含模块,模块内包含函数和类。每个包至少包含一个init__.py文件,用于标识当前文件问一个包。

2.可以在包内创建多个文件,用于分类不用的模块,之后如果用到其他模块中的东西,直接import 文件名即可,主要文件名不加.py结尾。

3.当python导入模块时,首先查找当前路径,之后查找lib目录,Python\Lib\site-packages目录和环境变量PYTHONPATH设置的目录

4.用impor导入文件,要使用模块内的东西,必须加入模块名前缀,如果不想加前缀,可以使用from module_name import function_name,function_name可以为*,代表全部导入。

5.模块的内部属性,___name__用于判断当前模块是否为程序的入口,如果正在使用,则值为__main__,通常用这个来判断主函数。__doc__为文档属性,字符串表示,在构造的时候用三引号表示

6.apply函数:

7.filter函数:返回列表fileter(过滤函数fun,待过滤的序列suq),对suq进行过滤,规则由fun来指定,其返回结果为真即成功。最后返回满足条件的所有元素组成的列表。

8.reduce函数:返回计算结果,reduce(计算函数fun,待处理序列suq,初始值),初始值可以没有,如果有,先计算初始值,最后将总的计算结果返回,reduce函数进行叠加,或者叠乘的计算,把每个元素都累加或其他运算到一起,只返回一个计算结果

9.map函数:返回处理好的序列map(处理函数fun,待处理序列suq,suq1),可以有多个序列。Map函数是分别把每个元素进行处理,返回的还是列表。

10.当用from pack import model 时可以直接导入model模块,当使用from pack import *时候,需要写成__all__=["model","model1"......],在__all__属性中,记录用到的模块名字。

<2>函数

1.Python中,任何变量都是对象,所以参数支持引用传递,通过名字绑定机制将实际参数的值和形式参数的名称绑定到一起,形参和实参指向内存中同一个存储空间。

2.*在参数中的作用:*可以引用元组,将多个参数合并成元组

3.**在参数中的作用:**可以引用字典,将参数构成字典

4.如果要同时使用*和**,*必须写在**之前

5.没有返回值的函数返回None

6.None是Python的一个对象,其不属于数字也不属于字符串

7.如果需要返回多个值的时候,可以将这些值打包到元组,之后再返回。需要的时候再解包即可,例如返回a,b,c三个值:法1:y=[a,b,c] number=tuple(y) return number 法2:return a,b,c

8.Lambda函数,用于创建一个匿名函数,函数名未和标识符绑定。格式:fun=lambda 变量1,变量2,变量3......:表达式。表达式是对变量的操作。Lambda中只能使用表达式,不能使用判断,循环等语句

9.Generator函数作用一次产生一个数值,并输出。格式:def 函数名(参数列表) 内容 yield 表达式。例子:

Def fun(c)

For i in range(n):

Yield i

10.generator函数每次只返回一个值,占更少的内存。数据通过.next()函数访问。当程序需要较高的性能的时候或者一次只需要一个数值,使用generator函数,当需要一次供给一组的时候,使用序列。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: