我编写了一个简单的程序,它接受用户的输入并将其大写,显然这可以通过不同的方式完成
class example():
def say_it(self):
result = input('what do you wanna say to the world')
return result
def get_result(self):
res = self.say_it()
return res
def capitalize(self):
res = self.get_result()
res = res.upper()
print(res)
def main():
Ex = example()
res = Ex.capitalize()
if __name__ == '__main__': main()
该程序在类主体中有 3 个方法,然后在主函数中创建一个新实例,仅调用大写方法,该类完成整个魔术并打印出用户输入的大写输入main方法看起来很干净
class example():
def say_it(self):
result = input('what do you wanna say to the world')
return result
def capitalize(self, words):
words = words.upper()
return words
def main():
Ex = example()
res = Ex.say_it()
final_result = Ex.capitalize(res)
print(final_result)
if __name__ == '__main__': main()
第二个程序做了同样的事情,但它在类主体中的方法较少,而在主方法中的方法较多,它调用类中的方法并处理返回的结果,然后实际发出最终的打印语句在 main 方法中与第一个程序不同,我认为当程序扩展和增长时, main 方法看起来会变得非常困惑
我的问题是,在现实生活中,哪种方法可以更好地扩展(即更具可读性,更容易调试),它们可能有 15 个方法,是否最好只调用一个可以完成所有魔力并获得的方法?结果或在主方法中逐个调用方法,我有时发现自己以第一种方式编写程序,我只调用一个方法,类处理其他所有事情,这两个程序之间的速度是否有任何差异,哪个是会更快吗?
最佳答案
函数应该按照它们所说的去做。令人困惑的是,有一个名为 capitalize()
的函数来调用一个函数来打印、提示和收集输入。
函数不应只调用另一个函数而不提供任何值。 get_result()
函数没有任何作用。调用 say_it()
会产生相同的结果。
你的类应该保留数据。这就是该对象的全部要点。 Main可以调用函数,但它不应该有数据。这些单词应该存储在类中。
调用函数的人之间没有明显的性能差异。
关于python - python 中的内部类方法与实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712916/