python - python 中的内部类方法与实例方法

标签 python class python-3.x instance

我编写了一个简单的程序,它接受用户的输入并将其大写,显然这可以通过不同的方式完成

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/

相关文章:

Python:类型错误:不可排序的类型

python - 标记类似 TEI 的文本

python - python'设置差异如何在内部工作?

c++ - 创建链接列表的问题

无法正确识别实例列表中的 Python 类属性

python - Kivy 高斯模糊

python - 名称错误 : name 'helloworld' is not defined

php - 无法将命名空间路径评估为变量

python - Starmap 在传入参数之前修改参数?

python-3.x - 如何绘制一条指示 Apriltag 方向的线?