0

如何检查变量是否等于某个变量,并在子范围内设置为新变量?

例如:

bar = 'foobar'
my_slice = bar[:3]
if my_slice == 'foo':
   print(my_slice)

似乎这里的新海象运算符会很有用,但是在这里如何使用它并不是很简单

4

1 回答 1

0

海象操作员在这里工作得很好,我们只需要准确了解他们是如何工作的。

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

于 2020-08-23T21:04:49.667 回答