如何检查变量是否等于某个值,并将其设置为子范围中的新变量?
例如:
bar = 'foobar'
my_slice = bar[:3]
if my_slice == 'foo':
print(my_slice)这里的新海象操作符似乎很有用,但在这里使用它并不是一目了然的
发布于 2020-08-24 05:04:50
海象运算符在这里工作得很好,我们只需要确切地了解它们是如何工作的。
if (my_slice := bar[3:]) == 'foo':
print(my_slice)海象运算符将变量设置为某个表达式的输出。它几乎与等号函数相同,只是它可以内联使用。
所以这个表达式:
(my_slice := bar[3:]) == 'foo'
可以归结为(variable = expression) == value
因此,因为my_slice := bar[:3]的输出等于bar[:3],所以上面的内容等同于
bar[3:] == 'foo'
注意:此处的括号是必需的,否则variable将等于比较操作的输出,即True或False
https://stackoverflow.com/questions/63551986
复制相似问题