函数
info
API的行为在任何两个连续版本之间不得以不兼容的方式更改,除非它正在经历弃用过程。不能在任何两个连续版本之间在没有通知的情况下删除功能。
函数
为了减少重复,自定义函数登场。
def
在 Python 中可以使用 def 关键字来定义函数,程序中函数的参数就相当于是数学上说的函数的自变量,可以通过 return 关键字来返回一个值,这相当于数学上说的函数的因变量。
def add(a, b):
"""
add two nums
:param a: first num
:param b: second num
:return: None
"""
print(a + b)
使用函数时,只需要将参数换成特定的值传给函数。
# Python并没有限定参数的类型,因此可以使用不同的参数类型:
print(add(2, 3))
print(add('foo', 'bar')) # foobar
传入参数时,Python 提供了两种选项,
第一种是上面使用的按照位置传入参数,
另一种则是使用关键词模式,显式地指定参数的值:
add(a=2, b=3)
add(b='morning', a='good')
add(2, b=3) # 5
return
return 语句用于从函数中返回值。如果函数没有 return 语句,则返回 None。
def add(a, b):
return a + b
print(add(2, 3)) # 5
yield
yield 语句用于从函数中返回一个生成器。
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
lambda
lambda 表达式用于创建匿名函数。
def add(a, b):
return a + b
# 等价于
add = lambda a, b: a + b
print(add(2, 3)) # 5
函数的参数类型
位置参数与默认参数
def quad(x, a=1, b=0, c=0):
return a * x * x + b * x + c
quad(2.0)
quad(2.0, b=3)