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:

 

Python(八)之函数的更多相关文章

  1. 八. Python基础(8)--函数

    八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x):     ' ...

  2. Python之路(第八篇)Python内置函数、zip()、max()、min()

    一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...

  3. 第七篇 python基础之函数,递归,内置函数

    一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  4. python中format函数

    python中format函数用于字符串的格式化 通过关键字 1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 2 grade = {'nam ...

  5. Python(八) 正则表达式与JSON

    一.初识正则表达式 正则表达式 是一个特殊的字符序列,一个字符串是否与我们所设定的这样的字符序列,相匹配 快速检索文本.实现替换文本的操作 json(xml) 轻量级 web 数据交换格式 impor ...

  6. python中format函数用于字符串的格式化

    python中format函数用于字符串的格式化 通过关键字 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 grade = {'name' : ...

  7. python基础之函数,递归,内置函数

    一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  8. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

  9. Python 动态创建函数【转】

    知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...

  10. python中的函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

随机推荐

  1. Linux命令之lsb_release - 查看当前系统的发行版信息

    用途说明 lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution informati ...

  2. 部署hadoop的开发环境

    第一步:安装jdk 由于hadoop是java开发的,所以需要JDK来运行代码.这里安装的是jdk1.6. jdk的安装见http://www.cnblogs.com/tommyli/archive/ ...

  3. please verify the preference field with the prompt:Tomcat JDK name

    使用MyEclipse的Tomcat的时候出现下面的问题: a   configuration   error   occurred   during   startup.   please   ve ...

  4. golang ----rune数据类型

    查询,官方的解释如下: // rune is an alias for int32 and is equivalent to int32 in all ways. It is // used, by ...

  5. threaded_execution

    Property Description Parameter type Boolean Default value false Modifiable No Range of values true | ...

  6. HDOJ 1281 棋盘游戏

    拆点二分图匹配 棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  7. MySQL的启动与停止

    如果MySQL数据库是自己安装的,可以用如下方法分别启动和停止MySQL. 1. MySQL服务器的启动 $mysql_dir/bin/mysqld_safe &         (其中&am ...

  8. [转]JVM参数设置、分析

    不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...

  9. python标准库介绍——37 signal 模块详解

    ==signal 模块== 你可以使用 ``signal`` 模块配置你自己的信号处理器 (signal handler), 如 [Example 3-11 #eg-3-11] 所示. 当解释器收到某 ...

  10. U811.1接口EAI系列之五--材料出库--VB语言

    主要业务有:09其他出库单 11:材料出库单 32:销售出库单 主要业务代码: '材料出库生成XML Public Function xml_storeout(ds_head As MSHFlexGr ...