Python中的这个属性语法是啥? [复制]

Posted

技术标签:

【中文标题】Python中的这个属性语法是啥? [复制]【英文标题】:What is this attribute syntax in Python? [duplicate]Python中的这个属性语法是什么? [复制] 【发布时间】:2019-01-27 07:47:59 【问题描述】:

我正在关注a tutorial in Pytorch,并且有这样的表达:

grad_h[h < 0] = 0

这个语法是如何工作的,它有什么作用?

【问题讨论】:

在关闭此 q 之前,它将 grad_h 数组中小于零的所有值分配为零 如果 grad_h 是 dict 并且 h = 1 是 int 那么:grad_h[h &lt; 0] = 0 将导致 grad_h = False: 0 这是可行的,因为grad_h 是一个 NumPy 数组。 这几乎可以肯定是现有问题的重复,但答案很好;我们只需要为您找到它。 同时,这里是the relevant section in the numpy user guide,它很好地解释了事情。 【参考方案1】:

这意味着将grad_h中对应的h为负数的所有值替换为零。

所以它正在实现某种掩码,仅当h 为负时才保留渐变值

假设 grad_h 和 h 具有相同的形状。

grad_h.shape == h.shape

当您执行h &lt; 0 时,您将获得一个具有相同形状的布尔数组,如果每个 i 的 h[i] &lt; 0 设置为 True

然后您应用此掩码对grad_h 进行切片,最后将所有切片元素设置为零

【讨论】:

你能解释一下这个语法是如何工作的吗?粗略一看,我希望它将grad_h 的属性TrueFalse 设置为0... 好的,我会编辑以更好地解释【参考方案2】:

表示只要h小于0,变量grad_h就等于0。

【讨论】:

请考虑在您的回答中添加更多信息

以上是关于Python中的这个属性语法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 HTML 属性中调用带有字符串参数的函数的正确语法是啥? [复制]

Python 中的“变量 //= 值”语法是啥意思? [复制]

在 python 中,将函数用作类的属性的正确语法是啥? [关闭]

CSS边框半径属性中的“/”是啥意思? [复制]

属性语法中的实际值和期望值是啥?

检查属性是不是存在的最佳方法是啥? [复制]