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


    1、位置参数

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

    》》》》》》

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

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

    2、默认参数

    1 def menu(staters,staple_food,dessert='布丁'):
    2     print('这个顾客点的开胃菜是'+staters+',主食是'+staple_food+',甜品是'+dessert+'')
    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+'
    主食:'+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)
  • 相关阅读:
    Fluentd部署:如何监控Fluentd
    【615】国内国外经纬度坐标转换
    【614】矢量数据转栅格数据(cv2.fillPoly/cv2.polylines)
    【613】U-Net 相关
    【612】深度学习模型相关问题
    【611】keras 后端 backend 相关函数(Dice实现)
    面试官:new 关键字在 JVM 中是如何执行的?
    IntelliJ IDEA 2021.2 发布,这次要干掉 FindBugs 了!!
    Nginx 实现 10w+ 并发之 Linux 内核优化
    我们真的需要全栈开发吗?
  • 原文地址:https://www.cnblogs.com/yssshiny/p/11044866.html
Copyright © 2020-2023  润新知