【问题标题】:python lambda syntax error [duplicate]python lambda语法错误[重复]
【发布时间】:2018-02-16 23:59:11
【问题描述】:

我正在学习 tensorflow 来构建神经网络,下面有一个示例代码:

import tensorflow as tf

# get weight of a layer, and add the l2 regularizer of the weight to the collection of 'losses'
def get_weight(shape, lambda):
    var = tf.Variable(tf.random_normal(shape), dtype = tf.float32)
    tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(lambda)(var))
    return var

我使用 python 3.5 运行这个脚本,但我得到了这个:

  File "4.4.2.py", line 4
    def get_weight(shape, lambda):
                               ^
SyntaxError: invalid syntax

【问题讨论】:

  • lambda 是python中的关键字。您必须选择不同的变量名称。
  • lambda 是 python 中的保留字,不应将其用作参数名称。

标签: python lambda


【解决方案1】:

lambda 是 python 中的保留字,不应用作参数/变量名。这与所有其他 reserved words 相同。

【讨论】:

    【解决方案2】:

    您正在尝试使用 python lambda 关键字将参数传递给函数。这是不可能的。将lambda 替换为其他内容。

    【讨论】:

      【解决方案3】:

      你应该使用 _lambda 而不是 lambda 变量,因为 lambda 是保留关键字。通常 _ 附加到关键字以消除保留关键字和变量之间的冲突。

      【讨论】:

        猜你喜欢
        • 2013-03-20
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        • 2011-03-03
        • 1970-01-01
        • 2014-09-22
        • 2018-06-18
        • 2012-05-27
        相关资源
        最近更新 更多