sta*_*onk 35 python assert pep8
如何格式化符合PEP8的长断言语句?请忽略我的例子的人为性质.
def afunc(some_param_name):
assert isinstance(some_param_name, SomeClassName), 'some_param_name must be an instance of SomeClassName, silly goose!'
Run Code Online (Sandbox Code Playgroud)
无法将其包装在括号中,因为它会更改assert语句的行为,因为它是关键字,而不是内置函数.
mgi*_*son 54
重要的是要记住,PEP8只是一个指导原则,甚至指出有时应该打破规则.
但最重要的是:知道何时不一致 - 有时风格指南不适用.
考虑到这一点,我可能会用旧样式行继续写这个:
def afunc(some_param_name):
assert isinstance(some_param_name, SomeClassName), \
'some_param_name must be an instance of SomeClassName, silly goose!'
Run Code Online (Sandbox Code Playgroud)
如果这不适合你(或你的短信),你可以随时做:
def afunc(some_param_name):
assert isinstance(some_param_name, SomeClassName), (
'some_param_name must be an instance of SomeClassName, silly goose!')
Run Code Online (Sandbox Code Playgroud)
甚至:
def afunc(some_param_name):
assert isinstance(some_param_name, SomeClassName), (
'some_param_name must be an instance of SomeClassName, '
'silly goose!')
Run Code Online (Sandbox Code Playgroud)
ERR_MESSAGE_01 = '''
Some really long error message
'''
assert condition(a,b), ERR_MESSAGE_01
Run Code Online (Sandbox Code Playgroud)
我是怎么做的......而且我觉得这很合适..
值得注意的是,可以用括号括起来,只是不是你想的那样。
assert isinstance(some_param_name,
SomeClassName), ('some_param_name must be an instance of '
'SomeClassName, silly goose!')
Run Code Online (Sandbox Code Playgroud)
然而,我不会认为它特别可读。在某些情况下,这可能是正确的选择。
| 归档时间: |
|
| 查看次数: |
11300 次 |
| 最近记录: |