小编Pai*_*Air的帖子

在class属性中引用类名的最佳方法是什么?

不幸的是,在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)

这是有效的,但即使使用注释也可能会引起混淆,因为您希望在声明时初始化类属性,而不是在声明类之后.

有没有人有更好的解决方法?

python

9
推荐指数
2
解决办法
981
查看次数

Selenium:不要等待异步资源

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调用?

python selenium unit-testing selenium-webdriver

6
推荐指数
1
解决办法
1879
查看次数

Python正则表达式错误地匹配尾随换行符

带有结束锚($)的正则表达式在匹配时完全忽略尾随换行符的存在.

防爆.

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)

这也匹配包含尾随换行符的文本.

python regex python-2.7

1
推荐指数
1
解决办法
155
查看次数