萌新学 Python 之自定义函数
函数主要用来封装功能,具有独立功能的代码块,可以提高代码重复利用率,便于模块管理
函数的定义:
def 函数名(形参):
'函数体,独立功能的代码'
return ‘函数的返回值’
函数注意事项:
1.函数的命名通常使用下划线去命名,名字由单词拼写
2.函数定义后,必须调用才会执行
3.函数中的注释,写在函数定义的下面
函数的调用:函数名(实参)
def add(x, y):
''' 功能:计算两数和
参数:输入两个整数
返回值:两数和
'''
z = x + y
return z
print(add(1, 2)) # 3
可以看到,鼠标悬停在函数上,出现注解
突然想到方法,搜索了下函数和方法的区别:
函数的参数与变量的作用域:
1.形式参数:也称为形参,就是定义函数时使用的参数名,名字可以任意取,表示函数可接受的参数,不会强制类型约束
2.实际参数:也成为实参,就是在调用函数时传入的参数,通过实参来决定参数的类型
比如形参类型设为 int 型,x:int,实参数据是浮点型,结果不受影响,输出也是浮点型,只是说可以接受 int 型,但不会强制约束
3.局部变量:定义在函数内的变量,主要作用于该函数,global 声明为全局变量
4.全局变量:定义在函数外的变量,作用于这个程序
5.关键字:global 局部变量转全局变量,必须调用函数才可以生效、
nonlocal 在闭包函数中使用,声明外层函数的变量可以修改
关于 global:
关于 nonlocal:
函数的参数可以没有,也可以有多个参数
局部变量:
def user_name(): # 函数没有参数
name = '张三' # 局部变量
return name # 返回值
# 调用函数
print(user_name()) # 张三
外部全局变量:
name = '李四' # 全局变量
def user_name(): # 函数没有参数
return name # 返回值
# 调用函数
print(user_name()) # 李四
global 声明为全局变量:
def user_name(): # 函数没有参数
global name # 将name局部变量转为全局变量
name = '张三'
return name # 返回值
# 调用函数
user_name() # 执行调用,在user_name函数中name变量声明为全局变量
print(name) # 张三
函数的返回值 return:return 表示函数结束