考虑以下类别:
import subprocess
class Fruits():
def __init__(self):
self.TERMINAL_WIDTH = 80
def start(self):
p = subprocess.Popen(["mplayer", "other", "args"])
print "Subprocess started..."
这个代码有效。你知道吗
为了更好地了解最佳编码实践,我将使用pep8 linter for Python。衣帽匠抱怨那条线
p = subprocess.Popen(["mplayer", "other", "args"])
:linter说,因为我们要定义一个变量(p
),所以它应该改为使用__init__()
方法。你知道吗
不过,我想知道怎么做。如果我以当前形式将该行传输到__init__()
,那么当Fruits()
被实例化时,子进程将开始运行,这不是我想要的。你能帮我吗?你知道吗
首先,您要创建一个局部变量。方法是可以的,但是当方法的执行完成时它就丢失了。你知道吗
您很可能想要一个实例变量。然后线条必须如下所示:
但是
p
也是一个糟糕的名称选择,您应该使用更长的名称,例如mplayer_proc
。你知道吗在
__init__
中有初始化所有实例变量的约定,这不是必需的,但在使用IDE时非常有用。你不需要给它一个终值。如果初始化时没有要存储的内容,只需将其设置为None
:相关问题 更多 >
编程相关推荐