“a = b != -1”是什么意思?

时间:2021-07-06 14:33:30

标签: python

我是 Python 初学者,正在努力提高我的技能。

最近看了一些python包的源码,找到了这些代码。

while True:
    x = string_variable != -1
    if x:
        time.sleep(1)
    else:
        break

那么,第二行是什么意思?

您可以在 here__init__.py 的第 149 行找到原始绳索。

原线在下面。

status_container = self.browser.find(By.XPATH,
                                         Constant.STATUS_CONTAINER)
while True:
    in_process = status_container.text.find(Constant.UPLOADED) != -1
    if in_process:
        time.sleep(Constant.USER_WAITING_TIME)
    else:
        break

2 个答案:

答案 0 :(得分:3)

在这里补充一下,您正在查看的实际代码不是像您的示例那样的简单字符串变量测试:

in_process = status_container.text.find(Constant.UPLOADED) != -1

正在有效地这样做:

string_var.find("foo") != -1

在 string_var 中寻找“foo”的出现。 string.find() 函数返回字符串内子字符串的索引。见https://www.w3schools.com/python/ref_string_find.asp

所以 if string_var.find("foo") != -1: 基本上是在说“如果 foo 在 string_var 中”。

在 python 中执行此操作的一种更常见(且可读!)的方法很简单:

if "foo" in string_var:

答案 1 :(得分:1)

这一行有两个运算符

x = string_variable != -1

= 是赋值运算符,!= 是逻辑运算符,这意味着 NOT EQUALS

因此,x 将根据逻辑运算符 != 的评估保存一个布尔值。