python函数(def)
def test(x): # x为形参
y = x + 20
return y
# def:定义函数的关键字
# test:函数名
# ():内定义参数
# x+=1:代码块
# return:定义返回值
s = test(10) # 调用函数 test 10为实参
print(s) # 输出结果:30
# 函数也可以不带参数
def test1():
x = 10
y = x + 20
return y
print(test1()) # 输出结果: 30
# *args 是将值处理成列表 **kwargs 是将值处理成字典
def test2(x, *args, **kwargs):
print(x) # 1
print(args) # (2, 3)
print(args[0]) # 2 处理成列表之后可以按照列表的方式按照下标取值
print(kwargs) # {'y': 2}
print(kwargs['y']) # 2 理成字典之后可以按照字典的方式,按照key取值
test2(1, 2, 3, y=2) # 输出结果 1 (2, 3) {'y': 2}
全局变量与局部变量
# 全局变量
name = 'hanhan' # 此变量为全局变量 所有下面函数都可以用
def change_name():
print('change_name', name)
change_name() # 输出结果 change_name hanhan
print(name) # 输出结果 hanhan
# 局部变量
name = 'junjun' # 此变量为全局变量 所有下面函数都可以用
def change_name():
name = "junjun2" # 该变量为局部变量 如果函数中有局部变量,优先读取局部变量,若没有局部变量,则找全局变量
print('change_name', name)
change_name() # 输出结果 change_name junjun2
print(name) # 输出结果 junjun
# 如何在函数中修改全局变量
name = 'hanhan' # 此变量为全局变量 所有下面函数都可以用
def change_name():
global name
name = '全局变量已经修改'
print('change_name', name) # 这时候这个name 已经成为了‘全局变量已经修改’
change_name() # 输出结果 change_name hanhan
print(name) # 输出结果 全局变量已经修改