zoukankan      html  css  js  c++  java
  • Python学习笔记--8.7 函数--可变参数、关键字参数

    #可变参数,关键字参数
    '''
    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=''的位置不对。
  • 相关阅读:
    rbd-mirror新功能
    ceph查询rbd的使用容量(快速)
    Ceph Bluestore首测
    让磁盘硬盘灯常闪定位盘
    aa
    地理围栏
    Can't connect to MySQL server on localhost (10061)解决方法
    经典智力题
    MEF程序设计指南
    ESRI.ArcGIS.AnalysisTools.Erase 结果是空?
  • 原文地址:https://www.cnblogs.com/youyou-luming/p/9649543.html
Copyright © 2011-2022 走看看