zoukankan      html  css  js  c++  java
  • python中给函数添加返回字典中的可选键值对

    1、

    >>> def a(x,y):
        b = {"key1":x,"key2":y}
        return b
    
    >>> a(111,222)
    {'key1': 111, 'key2': 222}
    >>> a(111,222,333)     ## 多家实参报错
    Traceback (most recent call last):
      File "<pyshell#101>", line 1, in <module>
        a(111,222,333)
    TypeError: a() takes 2 positional arguments but 3 were given
    >>> def a(x,y,z):      ## 增加一个形参
        b = {"key1":x,"key2":y}
        if z:
            b["z"] = z
        return b
    
    >>> a(111,222)      ## 少一个实参,报错
    Traceback (most recent call last):
      File "<pyshell#104>", line 1, in <module>
        a(111,222)
    TypeError: a() missing 1 required positional argument: 'z'
    >>> a(111,222,333)
    {'key1': 111, 'key2': 222, 'z': 333}
    >>> def a(x,y,z = ""):          ## 增加一个形参,同时设为默认参数空值
        b = {"key1":x,"key2":y}
        if z:
            b["z"] = z
        return b
    
    >>> a(111,222)          ## 给两个实参没问题
    {'key1': 111, 'key2': 222}
    >>> a(111,222,333)      ## 给三个实参
    {'key1': 111, 'key2': 222, 'z': 333}
    >>> def a(x,y,z = None):     ## 设为空值
        b = {"key1":x,"key2":y}
        if z:
            b["z"] = z
        return b
    
    >>> a(111,222)
    {'key1': 111, 'key2': 222}
    >>> a(111,222,333)
    {'key1': 111, 'key2': 222, 'z': 333}
  • 相关阅读:
    robot 如何定义用户关键字、变量
    appium 启动参数配置
    mock模拟接口返回数据
    jenkins 中邮件发送
    python中正则表达式
    python中操作数据库
    pytest和unittest中参数化如何做
    learnku社区分享
    FOR ALL ENTRIES IN的使用
    BAPI_DELIVERYPROCESSING_EXEC
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14510399.html
Copyright © 2011-2022 走看看