我写了一个简单的程序,它接受来自用户的输入并将其大写,显然这可以用不同的方式完成
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函数中创建一个新实例,只调用了capitalize方法,并且该类完成了整个魔术并打印出一个大写的put来自用户整个主要方法看起来很干净
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方法中的更多方法,它调用类中的方法并使用返回的结果,然后实际发出最终的print语句在主方法中,与第一个程序不同,认为当程序扩展和增长时,主要方法看起来会变得非常混乱
我的问题是这种方法在现实生活中会更好地扩展(即更易读,更容易调试),它们可能就像15种方法一样,只需调用一个能够完成所有魔法的方法结果或在main方法中逐个调用方法,我有时发现自己编写程序的第一种方式,我只调用一个方法,类处理其他一切,这两个程序之间的速度是否有任何差异,哪一个会更快吗?
答案 0 :(得分:2)
功能应该按照他们所说的去做。让一个名为capitalize()
的函数去调用函数来打印并提示和收集输入是很困惑的。
函数不应该只调用另一个函数而不提供任何值。 get_result()
功能不起作用。调用say_it()
会产生相同的结果。
你的班级应该保留数据。这是对象的重点。 Main可以调用函数,但它不应该有数据。这些单词应该存储在课堂上。
谁调用函数之间没有明显的性能差异。