gpt4 book ai didi

Python,压缩在缩进级别和 PEP-8 宽度限制之间

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:55 26 4
gpt4 key购买 nike

我已经写了一个很长很简洁的 Python 类:

class Foo(object):                     |    |
"""It is long and it has to deal | |
with PEP8 code width requirements| |
which are 72 characters for | |
comments and docstrings and 79 | |
for actual code. | |
""" | |
class_parm = 12 | |
pass # after several long, broken down|
# into several pieces, but in the|
# end *fit* lines of script, phew|
^
79 characters (say)
^
72 characters (say)

现在,事实证明我需要动态创建这个大类,以便它的一些静态成员在它的一个实例与另一个实例之间是不同的。简而言之,我需要把它变成类似这样的东西:

def make_foo(parm):                   
class Foo(object): | |
"""It is long and it has to d|al |
with PEP8 code width requirem|nts |
which are 72 characters for | |
comments and docstrings and 7| |
for actual code. | |
""" | |
class_parm = parm | |
pass # after several long, broken |own
# into several pieces, but in|the
# end *fit* lines of script, |hew
return Foo |
^
79 characters (say)
^
72 characters (say)

因此它会破坏 PEP-8 协议(protocol)。我仍然可以通过审查中的所有内容并将行分解成更多部分,以便它仍然适合。但这很乏味,我觉得这是我不应该担心的事情,因为它与我实际的编码事件没什么可看的。

我该怎么办?有没有办法在不需要添加另一层缩进的情况下实现这一目标?喜欢使用装饰器?或者是否有神奇的替代方法来分隔 python block ?可能是特殊字符?

我愿意编写符合标准的 易于编辑的 *.py 文件,但有时这是一个令人费解的目标:\

最佳答案

您可以使用继承:

class Foo(object): 
"""It is long and it has to deal
with PEP8 code width requirements
which are 72 characters for
comments and docstrings and 79
for actual code.
"""
class_parm = 12
pass # after several long, broken down|
# into several pieces, but in the|
# end *fit* lines of script, phew|


def make_foo(parm):
class Foo2(Foo):
"""Foo without indentation problems."""
class_parm = parm
return Foo2

子类不应该有缩进问题,因为它很小。

关于Python,压缩在缩进级别和 PEP-8 宽度限制之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com