(接DAY42)

八、函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但也可以自己创建函数,这被叫做用户自定义函数。

定义一个函数

定义一个由自己想要功能的函数,以下是简单的规则:

  1. 函数代码块以def关键词开头,后接函数标识符名称和圆括号()
  2. 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数(形参列表)。
  3. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  4. 函数内容以冒号:起始,并且缩进。
  5. return [表达式]结束函数,选择性地返回一个值给调用方,不带表达式的return相当于返回None

py-tup-10-26-1.png

函数调用

函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。
调用函数时,实参列表应与形参列表一一对应。
示例:

>>> def numadd(a, b):
>>>     a += b
>>>     return a
>>> 
>>> print(numadd(3, 9))
12

默认参数

调用函数时,如果没有传递参数,则会使用默认参数。以下示例中如果没有传入age参数,则使用默认值:
示例:

>>> # 可写函数说明
>>> def printinfo( name, age = 2 ):
>>>    "打印任何传入的字符串"
>>>    print ("名字: ", name)
>>>    print ("年龄: ", age)
>>>    return
>>>  
>>> # 调用printinfo函数
>>> printinfo( age=3, name="qqays" )
>>> print ("------------------------")
>>> printinfo( name="qqays" )
名字:  qqays
年龄:  3
------------------------
名字:  qqays
年龄:  2

匿名函数

Python 使用lambda来创建匿名函数。

所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。

  1. lambda只是一个表达式,函数体比def简单很多。
  2. lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  3. lambda函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
  4. 虽然lambda函数看起来只能写一行,却不等同于 C 或 C++ 的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

语法

lambda函数的语法只包含一个语句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

示例,设置参数 a 加上 10:

>>> x = lambda a : a + 10
>>> print(x(5))
15

标签: 达内, 软件测试, Python

分类: 个人日志, 软件测试学习, Python, 学点技术

添加新评论