【问题标题】:How to pass dictionary argument in functions in python如何在python中的函数中传递字典参数
【发布时间】:2020-06-18 12:14:37
【问题描述】:

我最近开始学习 Python 3.7,但出于学习目的,我正在学习 Python 2.7。查询是如何在函数中传递字典参数?

当我执行以下代码时,这就是我们在 python 2.7 中得到的结果:-

def param(first, last, *age, **items):
print first, last
print age
print items

输出 -

param('katy', 'dhilon', 23,45,23,12,67, baron=5, sausage=64)

katy dhilon
(23, 45, 23, 12, 67)
{'baron' = 5, 'sausage' = 64}

但是,当我在 python 3.7 中执行相同操作时:-

param('katy', 'dhilon', 23,45,23,12,67, baron=5, sausage=64) 

我收到字典参数的错误:-

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'param' is not defined

能否请您帮助我了解我在新版本中遗漏了什么?

添加了 python 2.7 结果:-

【问题讨论】:

  • 好吧,显然,您没有在 Python 3 代码中定义 param 函数。请显示您在 Python 3 中运行的确切代码
  • 感谢您的回复.. 我已经编辑了这个问题。可能我在这里遗漏了一些概念。请指导我..我是新手。
  • 您的 Python 3 代码是否包含以下行:param('katy', 'dhilon', 23,45,23,12,67, baron=5, sausage=64) ?
  • def param(first, last, *age, **items): 首先打印,最后打印年龄打印项目,是的,它适用于 python 2.7 但不适用于 3.7。 3.7 的代码是否正确?我的意思是我也可以对 3.7 使用相同的代码吗?
  • 此代码在 Python 3 中不正确,因为 the syntax of the print statement changed,但您的错误消息告诉您您没有定义 param 函数

标签: python-2.7 python-3.7


【解决方案1】:

对于 python 3.7.. 正如@ForceBru 所评论的那样,打印语句已更改,这是更新后的代码:-

def param(first, last, *age, **items):
    print (first, last)
    print (age)
    print (items)

输出 -

param('nicky', 'rana', 34, 38, 56, 12, 23, baron=9, nio=10)

nicky rana
(34, 38, 56, 12, 23)
{'baron': 9, 'nio': 10}

【讨论】:

    猜你喜欢
    • 2019-05-19
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多