函数
函数分类:
内置函数
Python 内部定义好了,根据函数功能直接使用......
自定义函数
实现内置函数没有的功能,根据需求写......
自定义函数
定义函数: 只检查语法,不执行代码
函数就像变量一样,先定义后使用; 如果不定义就用,== 引用一个没有定义到变量一样,Error....
定义函数的三种形式:
无参:应用场景仅仅只是执行一些操作,比如与用户交互,打印
有参:需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值
空函数:设计代码结构
1. def func_name(): # 无参数函数
函数子代码 ....
子代码也可以是函数....
2. def func_name( x,y ): # 有参数函数
print(x,y)
3. def func_name( x,y ): # 有返回值的函数
print( x,y )
return x ** y # 注意: return 后面的代码不执行
print( x+y )
4 . def func_name(): # 定义一个空的函数,想好了在完善
pass
函数调用:1. 先找到名字 2. 根据名字调用代码.......
1. func_name() # 调用无参数函数
2. func_name( 6,7 ) # 调用有参数函数,需要传参数,不然Error
3. ret =func_name( 6,7 ) # 调用 有参数 且有返回值的函数 ,需要赋值给一个变量名方可得到返回值
##### 1 2 也是有返回值的,默认是 None
函数调用的三种形式
1 语句形式:foo()
2 表达式形式:3*len('hello')
4 当做另外一个函数的参数:range(len('hello'))
高阶函数(函数对象)
函数是第一类对象,即函数可以当作数据传递.....
1 可以被引用
2 可以当作参数传递
3 返回值可以是函数
4 可以当作容器类型的元素
函数参数
形参
实参
形参:
形参变量在函数调用时分配内存空间,调用结束后就释放;形参只在函数内部有效,函数结束后就不能使用该变量了。
实参:
实参即变量值,函数调用则将值绑定到名字上,函数调用结束,解除绑定。 .....很重要:参数 也可以是函数 ....函数以外无法使用其参数 ......
具体应用
位置参数:按照从左到右的顺序定义的参数
位置形参:必选参数
位置实参:按照位置给形参传值
关键字参数:按照key=value的形式定义实参
无需按照位置为形参传值
注意的问题:
1. 关键字实参必须在位置实参右面
2. 对同一个形参不能重复传值
默认参数:形参在定义时就已经为其赋值
可以传值也可以不传值,经常需要变得参数定义成位置形参,变化较小的参数定义成默认参数(形参)
注意的问题:
1. 只在定义时赋值一次
2. 默认参数的定义应该在位置形参右面
3. 默认参数通常应该定义成不可变类型
可变长参数:
针对实参在定义时长度不固定的情况,应该从形参的角度找到可以接收可变长实参的方案,这就是可变长参数(形参)
而实参有按位置和按关键字两种形式定义,针对这两种形式的可变长,形参也应该有两种解决方案,分别是*args,**kwargs
*args 接收的参数...
** kwargs .......
打印结果
三元表达式
打印结果...
列表解析......
列表解析执行结果......
列表解析,生成器表达式 应用实例 ......
输出结果
生成器格式化输出到文件....
文件输入结果......