Python函数

1、函数定义与调用

# 定义函数与调用
def hello():
    print('hello world')

hello()

def area(width, height):
    return width * height

print('area is:', area(4, 5))

2、变量传递

# 变量传递
def test_int(a):
    a += 1
    print('a + 1 =', a)

tmp = 1
test_int(tmp)
print('tmp =', tmp)

lst = [1, 2, 3, 4, 5]
def test_list(l):
    l[0] += 1
    print('l[0] + 1 =', l[0])

test_list(lst)
print(lst)

3、参数的使用

# 参数的使用:必须参数、关键字参数、默认参数、不定长参数
# 1、必须参数
# 必需参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样。
def test_args01(name, age, height):
    print('姓名:', name, end='    ')
    print('年龄:', age, end='    ')
    print('身高:', height)

test_args01('Tom', 18, 180)
test_args01(18, 'Tom', 180)

# 2、关键字参数
# 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
# 使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
# 多个参数时,不能只有部分参数使用关键字参数。
test_args01(age=18, name='Tom', height=180)


# 3、默认参数
# 定义函数时,指定的参数的默认值,在使用函数时,如果不给该参数传值,则使用默认值。
# 多个参数时,从第一个使用默认参数的参数开始,之后的参数必须都要使用默认参数。
def test_args02(name, age=18, height=180):
    print('姓名:', name, end='    ')
    print('年龄:', age, end='    ')
    print('身高:', height)

test_args02('Tom')

# 4、不定长参数
# 使用*号,参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def test_args03(arg1, *var_tuple):
    print(arg1, end=' ')
    print(var_tuple)

test_args03(1)
test_args03(1, 2, 3, 4, 5)

# 使用**号,参数会以字典(dictionary)的形式导入,存放所有未命名的变量参数。
def test_args04(arg1, **var_dict):
    print(arg1, end=' ')
    print(var_dict)

test_args04(1, a=2, b=3, c=4)

# *号的特殊使用方式,使用*号作为参数时,*号之后的参数必须使用关键字传入,*号并不占用参数数量。
def test_args05(a, b, *, c, d):
    print(a, b, c, d)
test_args05(5, 6, c = 7, d = 8)

4、创建匿名函数

# 使用lambda创建匿名函数

summation = lambda a, b: a + b

print(summation(1, 2))
原文地址:https://www.cnblogs.com/wbz-blogs/p/12089086.html