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}
浙公网安备 33010602011771号