#可变参数,关键字参数 ''' def my(name,sex='女')#name 是位置参数,是必填的。sex='女'是默认值参数,不是必填的。 pass def send_sms(phone_num):#发短信,需要知道手机号.这是给1个人发 pass print('给%s发报警短信'%phone_num) def send_sms(*phone_num):#给多人发信息 for p in phone_num: print(p) print('发报警短信'phone_num) #不传参数 #传1个 #传N个 send_sms() send_sms(18643235) send_sms(1354354352,13334233) # 可变参数,参数组 # 1不是必传的 # 2它把传入的元素全部都放到了一个元组里 # 3不限制参数个数 # 4它用在参数比较多的情况下 # def send_sms(*args): # for p in args: # print(p) #关键字参数 def send_sms2(**phone_num): #1不是必传的 #2不限制参数个数 print(phone_num) send_sms2() send_sms2('sdfagewa') send_sms2(name='xiaohei',sex='nan') send_sms2(addr='北京',country='中国',c='abc',f='kkk') def send_sms2(**kwargs):#kw是key word的意思。 #一个星号传到是元组,两个星号传的是字典 def my(name,country='china',*args,**kwargs): #第一位置必须是位置参数,第二位是默认参数,第三是可变参数,第四位是关键字。必须是这个顺序。 print(name) print(country) print(args) print(kwargs) my('aaa') #运行结果 # aaa # china #这项有默认值 # () #后边两个没有传,所以都是空的 # {} my('xiaojun','japan','beijing','天通苑',color='红色',age=32) #运行结果 # xiaojun # japan # ('beijing', '天通苑') # {'color': '红色', 'age': 32} my('xiaojun','beijing','天通苑',color='红色',age=32) #运行结果 # xiaojun # beijing # ('天通苑',) # {'color': '红色', 'age': 32} ''' my('xiaojun','beijing','天通苑',color='红色',age=32,country='shanghai') #运行结果,报错。country=''的位置不对。