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函数,当需要一次供给一组的时候,使用序列。
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函数,当需要一次供给一组的时候,使用序列。
相关文章推荐
- Python学习笔记总结(二):函数和模块
- Python笔记:random模块常用函数
- 学习笔记☞ python 基础(python3)【四】(函数 function,None,return,列表-2,random模块)
- Python学习笔记4(函数与模块)
- python笔记-re模块的几个函数使用
- Python3学习笔记05-字典、文件输入输出、模块、函数参数传递
- Python笔记5——匿名函数,偏函数,模块
- Python学习笔记(八)模块与函数库
- Python 学习笔记二 函数、模块和对象
- python 学习笔记(4) python函数和模块
- Python学习笔记-初级(二):模块与函数
- Python2.7 学习笔记 (二)—— 函数,模块,正则
- Python学习笔记总结(二)函数和模块
- Python学习笔记(7)——函数与模块
- [置顶] Python联系笔记2[列表,元组,集合,字典,函数,文件操作,模块,类]
- Python学习笔记(三)函数、面向对象、模块发布
- python 学习笔记day02-python循环、文件、函数、模块
- Python turtle 模块函数笔记
- python学习笔记(九)将函数存储在模块中,导入模块
- 初学Python的学习笔记7----偏函数、模块、重点是面向对象