学习python第10天
-函数
# ###函数
(1)函数的含义:
功能 (包裹一部分代码 实现某一个功能 达成某一个目的)
(2)函数特点:
可以反复调用,提高代码的复用性,提高开发效率,便于维护管理
(3)函数基本格式
(4)函数命名
# ###函数参数 : 函数运算时需要的值
(1)函数参数概念及分类
函数参数:调用时需要传递的数据.
函数参数大类分为形参和实参:
形参意思: 函数定义时的参数
实参意思: 函数调用时的参数
形实关系:函数调用时,形参和实参个数需要一一对应
形参种类: 普通参数(位置参数),默认参数,普通收集参数,命名关键字参数,关键字收集参数
实参种类: 普通实参,关键字实参
(2)收集参数:
普通收集参数:专门用于收集多余的普通实参,形成一个新的元组
语法:参数前面加* 例:*args
关键字收集参数:专门用于收集多余的关键字实参,形成一个新的字典
语法:参数前面加** 例:**kwargs
(3)命名关键字参数:定义时放在*号后面的参数,调用时强制必须指定关键字实参才能调
语法:(*,x) x是命名关键字参数
(4)*和**的魔术用法:打包和解包
*和**,在函数的定义处,负责打包(把实参都收集过来,放在元组或字典中)
*和**,在函数的调用处,负责解包(把容器类型的数据,一个一个拿出来,进行传递)
(5)形参声明的位置顺序:
普通参数 -> 默认参数 -> 收集参数 -> 命名关键字参数 -> 关键字收集参数
(6)对于任意函数,都可以通过 def func(*args, **kw) 来获取所有参数
-return
return返回值
为这个函数返回一个结果 (return返回值可有可无 按照需求选择)
注意:执行return语句之后,函数执行结束
doc
__doc__或者help查看文档
-内置函数
abs 绝对值函数
round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数,则进一!)
sum 计算一个序列得和
max 获取一个序列里边的最大值
min 获取一个序列里边的最小值
pow 计算某个数值的x次方
range 产生指定范围数据的可迭代对象
bin 将10进制数据转化为二进制
oct 将10进制数据转化为八进制
hex 将10进制数据转化为16进制
chr 将ASCII编码转换为字符
ord 将字符转换为ASCII编码
eval 将字符串当作python代码执行
eval 将字符串当作python代码执行(功能更强大)
repr 不转义字符输出字符串
input 接受输入字符串
hash 生成哈希值
函数名的使用
# python中的函数可以像变量一样,动态创建,销毁,当参数传递,作为值返回,叫第一类对象.其他语言功能有限
1.函数名是个特殊的变量,可以当做变量赋值
2.函数名可以作为容器类型数据的元素
3.函数名可以作为函数的参数
4.函数名可作为函数的返回值
__doc__或者help查看文档
命名空间
# 作用域:作用范围
# 命名空间 : 划分一块区域保存所有数据,以字典的方式存储(变量与值形成映射关系).一共三种.
(1)内建命名空间:解释器启动时创建,直到解释器运行结束,生存周期最长
(2)全局命名空间:文件运行时创建,直到解释器运行结束,生存周期较长
(3)局部命名空间:函数调用时,里面的局部变量才创建,调用结束后即释放,生存周期较短
#命名空间的提出是为了划分和控制变量是否可见,以及生存周期的长短.
#命名空间 创建顺序:(了解)
python解释器启动->创建内建命名空间->创建全局命名空间->创建局部命名空间
#命名空间 销毁顺序:(了解)
函数调用结束后->销毁函数对应的局部命名空间数据->销毁全局命名空间数据->销毁内建命名空间数据
全局变量 与 局部变量 及 其关键字的使用
#局部变量:函数内部的变量是局部变量,作用域仅在函数内部可见(局部命名空间)
#全局变量:函数外部的变量是全局变量,作用域横跨整个文件(全局命名空间)
#内置函数:内建命名空间
-- globals() :返回字典,存放着全局作用域所有内容
-- locals() :返回字典,当前作用域所有内容(locals调用之前的变量)
-- global :关键字:声明全局变量获修改全局变量
-- nonlocal :关键字:修改局部变量(当前函数上一层的局部变量)

浙公网安备 33010602011771号