不幸的是,在Python中,类属性不能引用其类名.以下引发了一个名称错误:
class Foo(object):
bar = Foo
Run Code Online (Sandbox Code Playgroud)
在class属性必须引用其类名的情况下(在我的情况下,它是库的验证方案的一部分),最清楚的方法是什么?
以下是我目前的尝试:
class Foo(object):
bar = None
Foo.bar = Foo
Run Code Online (Sandbox Code Playgroud)
这是有效的,但即使使用注释也可能会引起混淆,因为您希望在声明时初始化类属性,而不是在声明类之后.
有没有人有更好的解决方法?
Selenium在继续执行新页面之前等待异步资源调用.
防爆.
<script src="https://apis.google.com/js/platform.js" async defer></script>
Run Code Online (Sandbox Code Playgroud)
在具有许多外部api的网站上(例如来自G +,Facebook和Twitter的Google Analytics和共享按钮).Selenium花费更多时间等待异步调用,而不是运行测试.
反正是否有禁用此行为,以便selenium不等待异步外部api调用?
带有结束锚($)的正则表达式在匹配时完全忽略尾随换行符的存在.
防爆.
import re
regex = re.compile(r'^$')
text = "\n"
print regex.match(text)
Run Code Online (Sandbox Code Playgroud)
上面的代码段将匹配包含"\n"的文本.由于上面的正则表达式在开始和结束锚点之间没有任何内容,我认为它应该只匹配空字符串.
有没有办法解决这种行为?
PS上面的代码是一个简化的正则表达式来说明问题.我正在使用的实际正则表达式是:
re.compile(r'^\S(?:\S| (?!\s)){0,199}$(?<=\S)')
Run Code Online (Sandbox Code Playgroud)
这也匹配包含尾随换行符的文本.