20190618—位置参数、默认参数、不定长参数

1、位置参数

1 def menu(staters,staple_food):
2     print('这个顾客点的开胃菜是'+staters+',主食是'+staple_food+'。\n')
3 menu('酸辣白菜','米饭')
4 # '酸,所以叫做“位置参数”辣白菜','米饭'对应的参数staters和staple_food的位置是传递顺序;\n表示换行。
5 
6 # 另一种表达方式:直接在括号里面赋值
7 menu(staters='米饭',staple_food='酸辣白菜')

》》》》》》

这个顾客点的开胃菜是酸辣白菜,主食是米饭。

这个顾客点的开胃菜是米饭,主食是酸辣白菜。

2、默认参数

 

1 def menu(staters,staple_food,dessert='布丁'):
2     print('这个顾客点的开胃菜是'+staters+',主食是'+staple_food+',甜品是'+dessert+'。\n')
3 menu('酸辣白菜','米饭')
4 # dessert的位置从一开始就固定在了括号内,dessert叫做默认参数

》》》》》》》
这个顾客点的开胃菜是酸辣白菜,主食是米饭,甜品是布丁。

 

3、元祖

1 def menu(*dessert):
2     for i in dessert:
3         print('今日新推出的甜点有:'+i)
4 menu('布丁','酸奶','面包')
5 # menu('布丁','酸奶','面包')就叫做元祖,元祖是可迭代的对象,需要用for..in...来遍历它。

》》》》》》

今日新推出的甜点有:布丁
今日新推出的甜点有:酸奶
今日新推出的甜点有:面包

 4、不定长参数

1 def menu(greens,staple_food,*barbecue,dessert='布丁'):
2     print('38号桌顾客点的热菜:'+greens+'\n主食:'+staple_food)
3     for i in barbecue:
4         print('烧烤:'+i)
5     print('甜点:'+dessert)
6 menu('红烧带鱼','米饭','羊肉串','烤肥肠','烤茄子')
7 # menu('红烧带鱼','米饭','羊肉串','烤肥肠','烤茄子')的元素位置与menu(greens,staple_food,*barbecue,dessert='布丁')的元素位置一一对应,因此,默认元素dessert='布丁'需放在最后面,不能随意挪动位置,否则传递的位置至会对应不上

》》》》》》

38号桌顾客点的热菜:红烧带鱼
主食:米饭
烧烤:羊肉串
烧烤:烤肥肠
烧烤:烤茄子
甜点:布丁

 

 

 

def menu(zhushi,kaiweicai,tianpin='沙拉'):
    print('一份主食'+zhushi)
    print('一份开胃菜'+kaiweicai)
    print('一份甜品'+tianpin)
menu('米饭','酸黄瓜')

def menu(recai,liangcai,*shaokao,tiandian='慕斯蛋糕'):
    # 默认参数tiandian需放在不定长参数shaokao后面,否则打印的时候传递值会对应不上
    print('今日特价热菜'+recai)
    print('今日特价凉菜'+liangcai)
    for i in shaokao:
        print('本店最新推出的烧烤有:'+i)
    print('今日限量供应甜点'+tiandian)
menu('红烧肉','凉拌小黄瓜','烤鸡翅','烤玉米','烤羊肉串','烤牛排')
list1=('干果','芝士蛋糕','冰淇淋','面包')
def menu(*tiandian):
    print(tiandian)
menu(*list1)

 

posted @ 2019-06-18 14:05  小确幸Shiny  阅读(484)  评论(0编辑  收藏  举报