Python学习第八课——函数

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)  # 输出结果  全局变量已经修改

猜你喜欢

转载自www.cnblogs.com/pyhan/p/12170349.html