# def pr(name,age):
# print('name: %s'%name)
# print('age: %d'%age)
# #pr(age=39,'xiaohu') 按位置一一对应是 必须参数
# pr(age=39,name = 'xiaohu') # 关键字参数
# def pr(name,age,sex='male'): #默认参数,并且默认参数只能放在其他参数后面
# print('name: %s'%name)
# print('age: %d'%age)
# print('sex %s'%sex)
# #pr(age=39,'xiaohu')
# pr('xiaohu',31)
# pr('xiaohu',32)
# pr('xiaohu',31,'female') #需要修改默认参数时添加参数
def add(*args): #加法器 *args无命名参数
num = 0
for i in args:
num += i
print(num)
add(1,2,3,4,5,6) #不定长参数 无命名参数
# def pr(*args,**kwargs): #*args 接收无命名参数(以元组的形式) **kwargs 接收命名参数(以字典的形式)
# print(args) #定长参数和不定长参数的位置,*args放在**kwargs的前面
# print(kwargs)
# for i in kwargs:
# print('%s:%s'%(i,kwargs[i]))
#
# pr('a','b','c',hobby='grils',height=182,name='alex') #命名参数
#位置关系
def pr(sex = 'male',*args,**kwargs): #如果有默认参数放最左边
print(args)
print(kwargs)
print(sex)
for i in kwargs:
print('%s:%s'%(i,kwargs[i]))
pr('a','b','c',hobby='grils',height=182,name='alex')
#无命名参数会和sex一一对应关系 所以sex回取a
#ages 会取b,c 产生元组
#kwargs取其他命名参数 产生字典