Python - 不懂运算符 - 指数
Python - don't understand operator - exponent
我正在阅读 Python 学院的教程,他们在 for 循环中有一个表达式,它采用 1,2,3 的列表...产生 1,4,9 的输出,16。所以,在我看来,它是对每个元素进行平方。
元素 **= 2
我不明白“=”在那里做什么。不应该写成 elem ** 2 吗?它只是另一种写法吗?
它似乎在代码中有效。
def listUpdater(lst):
updList = []
for elem in lst:
elem **= 2
updList.append(elem)
return updList
def main():
l = [1, 2, 3, 4, 5]
print(listUpdater(l))
'=' 将更改应用到变量 'elem',没有'=',它会给出它的平方,但变量不会改变,它不会平方。
在this link
您对 Python 运算符有一个很好的概述,还有另一种编写它们的方法。
本质上,像 **
这样的运算符与 =
的组合意味着首先执行运算符,并将其结果分配给左侧的变量。
所以在你的例子中,elem 是平方的,结果保存在同一个 elem 中,并在下一行附加到 updList
。
另一种写法是 elem = elem ** 2
。
“=”符号更改 elem 变量。
而不是写作:
elem = elem**2
您可以改写:
elem **= 2
**=
运算符对运算符两边的参数进行幂运算,并保存到变量中。这与 elem = elem ** 2
.
相同
类似地,如果你想将一个变量递增 1,你可以做 i+=1
。 i
的值将增加。
基本上你可以写 elem **2
它会很好地工作。
您可以添加此行 print(elem **@2)
并查看其工作情况。
添加“=”符号的原因是将 elem**2
计算的值重新分配给 elem.
我正在阅读 Python 学院的教程,他们在 for 循环中有一个表达式,它采用 1,2,3 的列表...产生 1,4,9 的输出,16。所以,在我看来,它是对每个元素进行平方。
元素 **= 2
我不明白“=”在那里做什么。不应该写成 elem ** 2 吗?它只是另一种写法吗?
它似乎在代码中有效。
def listUpdater(lst):
updList = []
for elem in lst:
elem **= 2
updList.append(elem)
return updList
def main():
l = [1, 2, 3, 4, 5]
print(listUpdater(l))
'=' 将更改应用到变量 'elem',没有'=',它会给出它的平方,但变量不会改变,它不会平方。
在this link 您对 Python 运算符有一个很好的概述,还有另一种编写它们的方法。
本质上,像 **
这样的运算符与 =
的组合意味着首先执行运算符,并将其结果分配给左侧的变量。
所以在你的例子中,elem 是平方的,结果保存在同一个 elem 中,并在下一行附加到 updList
。
另一种写法是 elem = elem ** 2
。
“=”符号更改 elem 变量。
而不是写作:
elem = elem**2
您可以改写:
elem **= 2
**=
运算符对运算符两边的参数进行幂运算,并保存到变量中。这与 elem = elem ** 2
.
类似地,如果你想将一个变量递增 1,你可以做 i+=1
。 i
的值将增加。
基本上你可以写 elem **2
它会很好地工作。
您可以添加此行 print(elem **@2)
并查看其工作情况。
添加“=”符号的原因是将 elem**2
计算的值重新分配给 elem.