参数

# 位置参数
def power (x,n):
    s = 1
    while n>0:
        n = n-1
        s = s*x
    return s
power(5,2)
25
#默认参数
def power(x,n=2):
    s = 1
    while n>0:
        n = n-1
        s = s*x
    return s
power(5)
25
power(5,3)
125
#可变参数自动组装成tuple
def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum+n*n
    return sum
calc([1,2])
5
def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum+n*n
    return sum
calc(1,2)
5
#关键字参数自动组装为dict
def person(name,age,**kw):
    print('name:',name,'age:',age,'other:',kw)
person('lzq',22)

name: lzq age: 22 other: {}
person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
#命名关键字参数
def person(name,age,*,city,job):
    print(name,age,city,job)
    
 person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer
#参数组合顺序:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
def f1(a,b,c=0,*args,**k):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
def f2(a, b, c=0, *, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

猜你喜欢

转载自blog.csdn.net/DMU_lzq1996/article/details/84074050
今日推荐