【问题标题】:Python hash runtimePython 哈希运行时
【发布时间】:2012-10-10 02:19:28
【问题描述】:

我有一个运行时问题。

在 Python 函数中:

 def f(x):
     hash = { 1: g(x) }
     return hash[1]

g(x) 何时实际执行?是调用 f(x) 还是返回 hash[1] 的时候?

【问题讨论】:

  • 您可以通过在此处和此处添加一些prints 来轻松地自行检查。掌握 Python 解释器有多难? ideone.com/NFJj8

标签: python hash runtime execution


【解决方案1】:

g(x)f(x)被调用时被执行;当hash 被创建时,g(x) 被调用。

如果你删除 return 语句,你可以看到发生了什么:

>>> def g(x):
...     print 'g(%s) called' % x
... 
>>> def f(x):
...     hash = { 1: g(x)}
... 
>>> f(1)
g(1) called

【讨论】:

    【解决方案2】:

    同意马修。更准确地说,g(x)hash 对象在f(x) 中创建时执行。

    【讨论】:

      猜你喜欢
      • 2018-09-23
      • 1970-01-01
      • 2021-01-28
      • 2012-04-21
      • 2011-02-07
      • 2013-09-04
      • 1970-01-01
      • 2017-03-30
      • 2018-09-20
      相关资源
      最近更新 更多