Python函数
函数作用:
(1)代码重用
(2)一种设计工具,分解复杂问题
(3)将相关功能打包并参数化
函数种类:
全局函数:定义在模块中
局部函数:嵌套在其他函数中
lambda函数:表达式
方法:与特定数据类型关联的函数,并且只能与数据类型关联一起使用(定义在类中的函数)
内置函数
Python闭包:
可变参数解包:个数必须要匹配
lambda表达式
函数式编程
filter内置函数
reduce实现折叠
Python闭包:闭包叫lexical closure(词法闭包),外层给内层函数提供一个运行环境
yield生成器
函数中谁用yeild,会返回一个生成器对象。
装饰器:实现函数代码重用
1、 本身是一个函数,用于装饰其他函数;
2、 功能:增强被装饰函数的功能;
装饰器一般接受一个函数对象作为参数,以对其进行增强
递归:函数调用自身
递归需要边界条件,递归前进段和递归返回段
函数的设计规范:
耦合性:
(1) 通过参数接收输入,通过return产生输出以及保证函数的独立性
(2) 尽量减少使用去哪聚变量进行函数间通信
(3) 不在函数中修改可变类型的参数;
(4) 避免直接改变定义在另外一个模块中的变量;
聚合性:
(1) 每个函数都应该有一个单一的、统一的目标;
(2) 每个函数的功能都应该相对简单
练习1:将/etc/passwd文件中的每一行都分割为一个列表
练习2:将任意文件按用户指定的分隔符把每一行都分割为一个列表
练习3:用折叠的方式(reduce)求阶乘
练习4:返回/etc/passwd中包含了/bin/bash字符串的所有用户名列表
1、记得关闭:f1.close()
2、记得关闭:f1.close()
3、
4、
或者使用filter: