什么是函数:重复使用的,组织好的,实现单一或关联功能的代码。
定义一个函数:
规则: 1 函数代码块以def关键词开头,后接()
2 任何传入参数和自变量必须放在圆括号。
3 函数的第一行语句可以选择性地使用文档字符串,用于存放函 数说明
4 函数内容以冒号起始,并且缩进。
5 return 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。
函数的种类:1 无参函数 2 有参函数 3 空函数
例如:def test(a): # 定义一个自定义函数test且传入参数a
a=10 # 赋值
b=2 # 赋值
test(b) # 调用函数
prnt(b) # 输出
实参和形参:
def students(name): # 定义函数括号里的一般是形参
print('my name is %s' % name)
students('唐家三少') #调用时括号里传递的参数一般是实参
students 形参 唐家三少就是实参
1 位置参数:从左到右的顺序定义参数
位置形参:必选参数
位置实参: 位置给形参传值
例如: def zoo(x,y):
print(x,y)
zoo('老虎','大象')
2 关键字参数:key =value 形式定义实参,不需按照位置为形参传值
注意的问题: 1 关键字实参必须在位置实参右面
2 对同一个形参不能重复传值
例如: def test(x,y):
print(x,y)
test(y=2,x=1)
3 默认参数:形参在定义时就已经为其赋值
可以传值也可以不传值,默认参数为形参
注意的问题:
1 只在定义时赋值一次
2 默认参数定义应在形参右面
3 默认参数通常定义为不可变类型
例如: def food (x,y *args): * 可以传入多个值
print(x,y,args) 传的值成为元组
food('土豆','西红柿','黄瓜')
def food (x,y,**kwargs): 传的值都为字典模式
print(x,y,kwargs)
food('唐家三少','天蚕土豆',a='少林寺',b='武当派')
return 语句
return 语句退出函数,选择性地向调用方返回一个表达式。
不带参数值得return 语句返回None。
例如: def add_sum(arg1,arg2): # 函数说明
total = arg1 +arg2 # 返回两个参数和
print('函数内:',total)
return total
total = add_sum(10,20) # 调用sum函数
函数的特性
def f1(): # 函数被引用
print('this is f1')
return 'ok'
res = f1()
print(res)