函数是Python里面组织代码的最小单元
def add(x, y):
函数定义是使用def关键字来定义的,仅接着是函数名,函数名后面用一对小括号列出参数列表,
参数列表侯曼使用冒号结束函数体,参数可有可无,不影响函数的定义
print(x + y)
函数体是正常的Python语句,可以包含任何结构
return x + y
return 语句表示函数的返回值
函数是由输入(参数)和输出(返回值),函数其实是一个代码单元,把输入转化为输出
函数的调用
定义函数的时候,并不会执行函数体,当调用函数的时候,才会执行其中的语句块
调用函数,是直接使用函数的名字来调用
def add(x, y): 定义一个函数
… print(x + y) 函数体是打印参数x加上参数y等于多少
… return x + y 函数的返回值
…
add(3,5) 使用名称直接调用函数,将参数3和5分别传给x和y
8 函数体的值
8 函数的返回值
函数的返回值,在Python的解释器中,是可以直接返回的,但是在我们写到程序中的时候,函数的返回值是需要使用一个变量来接收的
参数是按照顺序的方式传入的,这样的传参方法是位置参数
def add(x, y):
… ret = x + y
… print(’{} + {} = {}’.format(x,y,ret))
… return ret
…
add(3,5)
3 + 5 = 8
8
指定关键字来传递参数,这样的传参方法是关键字参数,关键字参数是和顺序无关的
def add(x, y):
… ret = x + y
… print(’{} + {} = {}’.format(x,y,ret))
… return ret
…
add(x=3,y=5) 给定指定的关键字
3 + 5 = 8
8
关键字参数和位置参数是可以混合使用的
def add(x, y):
… ret = x + y
… print(’{} + {} = {}’.format(x,y,ret))
… return ret
…
add(3,y=5) 同时存在位置参数和关键字参数
3 + 5 = 8
8
add(x=3,5) 当位置参数和关键字参数混合使用的时候,位置参数必须在前面,否则会抛出语法错误
File “”, line 1
SyntaxError: positional argument follows keyword argument
add(x=3,‘5’) 根据实际的情况来传入参数,上面的函数体是加法,因此函数只能是整型和浮点类型,或者是字符串类型
File “”, line 1
SyntaxError: positional argument follows keyword argument
add(‘3’,‘5’)
3 + 5 = 35
‘35’
函数的参数
参数默认值
def inc(base,x=1): 给第二个参数设置一个默认值,若是不传递参数,则使用默认的参数值,若是传递参数,则使用传递的参数值