首页 > 编程语言 > 详细

Python学习笔记--8.7 函数--可变参数、关键字参数

时间:2018-09-15 00:16:17      阅读:233      评论:0      收藏:0      [点我收藏+]
#可变参数,关键字参数
‘‘‘
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=‘‘的位置不对。

Python学习笔记--8.7 函数--可变参数、关键字参数

原文:https://www.cnblogs.com/youyou-luming/p/9649543.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!