函数是带有名字的代码块,用于完成具体的工作。
def 函数名(输入参数):
函数体
[return xxx]
返回值不是必须的,函数体需要缩进
函数的调用需要函数名+传递参数
例:
def get_user():
print('hello world')
get_user()
hello world
例:向函数传递信息
def get_user(username):
print(f'hello {username.title()}')
get_user('mary')
hello Mary
其中:函数定义处username为形参,函数调用处为实参
可以在定义函数时指定参数的默认值,在函数调用时,如果没有传递参数,会使用定义的默认值替代,格式为:
def 函数名(输入参数,可选参数=默认值):
函数体
[return xxx]
def multiply (x,y=2):
output = x*y
print(output)
multiply(5,2)
multiply(5)
10
10
python函数传递参数时,有按位置传递还有按名称传递。
def multiply (x,y):
output = x*y
print(output)
multiply(5,2) # 按位置传递
multiply(y=2,x=5) # 按名称传递
10
10
局部变量仅在函数内部使用,而全局变量的作用域跨越多个函数。全局变量在函数内部使用时,需要用保留字global声明,语法形式为global<全局变量>
n = 2
def multiply (x,y):
global n
output = x*y*n
print(output)
multiply(5,2) # 按位置传递
20
打印一条横线
def print_line():
print('-'*20)
print_line()
--------------------
打印多条横线(使用函数嵌套)
def print_line():
print('-'*20)
def line_num(num):
for i in range(num):
print_line()# 函数嵌套
line_num(5)
--------------------
--------------------
--------------------
--------------------
--------------------
求三个数的平均值
def plus(a,b,c):
sum = 0
sum = a+b+c
return sum
# 求三个数的平均值
def avg(a,b,c):
m = plus(a,b,c) # 函数嵌套
n = m/3
print(n)
avg(1,2,3)
2.0
定义语法
def 函数名():
"""说明文档的位置""" # 在函数定义的第一行以多行注释的形式书写,查看的话用help(函数名)
代码
练习:
def avg(a,b,c):
"""计算三个数的平均值"""
m = plus(a,b,c)
n = m/3
print(n)
help(avg)
avg(a, b, c)
计算三个数的平均值
说明文档的高级使用,在函数定义下第一行用多行注释的方式书写""" 回车""",加回车即可。
def avg(a,b,c):
"""
求平均值函数
:param a: a为参数一
:param b: b为参数二
:param c: c为参数三
:return: 为返回值
"""
m = plus(a,b,c)
n = m/3
print(n)
help(avg)
avg(a, b, c)
求平均值函数
:param a: a为参数一
:param b: b为参数二
:param c: c为参数三
:return: 为返回值