函数参数用法笔记

来源:互联网 发布:linux打tar包 编辑:程序博客网 时间:2024/05/28 15:53
# -*- coding: utf-8 -*-# 函数定义和默认参数def func(x, y = 500):    print(x, y)func(150)func(100, 200)func(y = 300, x = 100)# 可变参数def func(name, *numbers):    print(name)    print(numbers)func('Tom', 1, 2, 3, 4)# 关键字参数def func(name, **kvs):    print(name)    print(kvs)func('Jack', china = 'Beijing', uk = 'London')# 命名关键字参数def func(*, china, uk): # *用于和普通参数做分割,*args一样效果    print(china, uk)func(china = 'Beijing', uk = 'London')  # 必须传入参数名# 复杂情况def func(a, b, c = 0, *args, **kvs):    print(a, b, c, args, kvs)func(1, 2)func(1, 2, 3)func(1, 2, 3, 'a', 'b')func(1, 2, 3, 'a', 'b', china = 'Beijing', uk = 'London')func(1, 2, 3, *('a', 'b'), **{'china':'Beijing', 'uk':'London'})# 递归的经典例子!def fib(n):    if n < 1:        raise ValueError    elif (n == 1) or (n == 2):        return 1    else:        return fib(n - 1) + fib(n - 2)print(fib(1))print(fib(2))print(fib(3))print(fib(4))print(fib(5))print(fib(6))def func (a, b, c, *d, **e):    print(a,b, c, d, e)func(1, 2, 3, 4, 7, 'silly', china= 'beijing', uk= 'London')func(1, 2, 3, *(4, 7, 'silly'), china= 'beijing', uk= 'London')func(1, 2, 3, *(4, 7, 'silly'), **{'china' : 'beijing', 'uk' :'London'})
原创粉丝点击