我正在考虑以下方法进行类初始化:
class Foo():
def __init__(self):
self.name = self.get_name()
def get_name(self):
return raw_input("Name: ")
class Foo():
def __init__(self):
self.name = ""
self.get_name()
def get_name(self):
self.name = raw_input("Name: ")
class Foo():
def __init__(self):
self.name = raw_input("Name: ")
是否有任何实际理由选择其中一个?
如果不是,那可能被认为是最恐怖的?
答案 0 :(得分:2)
input()
该类名称以外的名称,并将其作为参数传递给其__init__()
。get_name()
重命名为query_name()
或input_name()
。 get_name()
听起来像一个getter(获取 name
的值),而不是像从获取数据的setter或例程用户 答案 1 :(得分:0)
我不喜欢在构造函数中执行原始输入的想法,但毕竟,为什么不... 我更喜欢:
class Foo():
def __init__(self):
self.name = ""
def prompt_name(self):
self.name = raw_input("Name: ")
if __name__ == "__main__":
aFoo = Foo()
aFoo.prompt_name()