我是 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
答案 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
将根据逻辑运算符 !=
的评估保存一个布尔值。