python学习(3)
- 函数:一段可以重用的有名称的代码
- 模块:处理某一类问题的集合,模块由函数和类组成。模块通常没有可执行语句(main函数)
- 包:一个完成特定任务的工具箱
1.函数
1.1函数的定义及调用
- 定义格式:
def 函数名([形参表]):
函数体语句序列
[return表达式]
- 调用格式:
函数名([实参表])
1.2函数的参数
1.2.1按引用传递参数
- python采用的传递参数的方式
- 函数使用新变量名来引用原始值
- 这种方式形参按位置引用实参值,也称位置参数
1.2.2默认值参数
- 函数的参数支持默认值
- 带默认值的参数不能位于没有默认值的参数前面
def greet(name ,greeting='hi'):
print(greeting,name+'!')
greet('Bob')
greet('Bob','good morning')
输出为:
hi Bob!
good morning Bob!
1.2.3关键字参数
调用使用关键字参数的函数时,以param=value的方式传递参数。
1.2.4不定长参数
- 在调用函数时可以接受任意数量的实参,这些实参在传递给函数时会被封装成元组(不能变)或字典形式。
- 在参数名前面加一个“*”,表示参数是以形参名为标识符的元组。
- 在参数名前加两个“*”,表示参数是以形参名为标识符的字典,其中关键字为“键”,参数值为“值”。
定义格式:
def 函数名([普通形参列表,]*不定长参数名[,普通形参列表]):
函数体
或
def 函数名([普通形参列表,]**不定长参数名):
函数体
1.2.5变量的作用域
1.2.5.1局部变量
- 局部变量只能在函数内部使用
- 函数结束,局部变量的生命周期也就结束了
- 局部变量的作用范围只在其被创建的函数内有效,函数形参也属于局部变量
1.2.5.2全局变量
- 函数之外定义的变量
- 能被不同函数、类或文件共享
- 可以被文件内部的任何函数和外部文件访问
- 若要在函数内部修改全局变量的值,必须使用global语句声明
2.模块
- 将一组函数放在一起共享公共的主题
- 将这些函数存储于一个.py文件中
- 使用import命令导入
2.1模块的创建和导入
创建模块,在其中包含用于完成任务的变量、类和函数,不包括所谓的main函数。
2.2模块的属性
模块有一些内置属性,用于完成特定的任务。
eg:
_doc_:模块中用于描述的文档字符串
_name_:模块名
_file_:模块保存的路径
2.3内置模块_builtins_的常用函数
2.3.1filter()
- 声明:
class filter(object)
filter(function or None,iterable)-->filter object
- 功能:对某个序列做过滤处理,根据自定义函数返回的结果是否为真来过滤,并一次性返回处理结果。返回结果是filter对象。
2.3.2reduce()
- 声明:
reduce(func,squence[,initial])->value
- 功能:对序列中的元素进行连续操作
2.3.3map()
- 声明;
class map(object)
map(func,iterables)-->map object
- 功能:对多个序列的每个元素都执行相同的操作,并返回一个map对象。