14 函数

1 测试

# 无参无返回函数
def no_param_return():
    print('This is no return def!')

# 位置参数(有一个返回值)
def add(a, b):
    result = a+b
    return result

# 位置参数(有多个返回值)
def more_return(a, b):
    result = a+b
    return a, b, result

# 默认值参数
def has_default_param_value(a=3, b=3):
    result = a+b
    return result

# 可变参数1
# 是非必传参数
# 使用参数名前面加一个星号表示
# 它把传入的元素都存到一个元组里
# 不限制传入参数的个数
# 用在参数比较多的时候
def tuple_params1(*params):
    return params

# 可变参数2
def tuple_params2(*params):   # *params 代表传任意多参数,其所有参数都保存在一个元组里
    result_list = []
    for item in params:     # 遍历 params 元组
        result_list.append(item)
    return result_list

# 可变参数3 - 关键子参数
# 是非必传参数
# 使用参数名前面加两个星号表示
# 不限制传参个数
# 它是把传入的参数保存在一个字典里
# 如果传参,必须要传位置参数这种 k=v 的格式,否则报错。
# 通常使用kwargs当做变量名
def dict_params(**kwargs):
    return kwargs

# 参数组合使用
# (1)位置参数(2)默认值参数(3)可变参数(4)关键字参数
def max_params(id, name='lizi', *args, **kwargs):
    print(id)
    print(name)
    print(args)
    print(kwargs)

if __name__ == '__main__':
    no_param_return()

    tmp = add(3, 3)
    print(tmp)

    a, b, result = more_return(3, 3)
    print('a is {}, b is {}, add result is {}'.format(a, b, result))

    a, b, result = more_return(b=5, a=5)    # 指定参数赋值
    print('a is {}, b is {}, add result is {}'.format(a, b, result))

    tmp = has_default_param_value()     # 不传递参数也可以得到默认返回值
    print(tmp)

    tmp = tuple_params1('This', 'is', 'lizi', 'test')
    print(tmp)

    tmp = tuple_params2('This', 'is', 'lizi', 'test')
    print(tmp)

    tmp = dict_params(id=1, name='lizi', age=18)
    print(tmp)

    max_params('1', 'lizilizi', 'test', 'good', add='北京', age=1)

结果:

6
a is 3, b is 3, add result is 6
a is 5, b is 5, add result is 10
6
('This', 'is', 'lizi', 'test')
['This', 'is', 'lizi', 'test']
{'id': 1, 'name': 'lizi', 'age': 18}
1
lizilizi
('test', 'good')
{'add': '北京', 'age': 1}

 

posted @ 2021-01-18 21:36  栗子测试开发  阅读(84)  评论(0)    收藏  举报