Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的内部类方法与实例方法_Python_Class_Python 3.x_Instance - Fatal编程技术网

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

python中的内部类方法与实例方法,python,class,python-3.x,instance,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 capi

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

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个方法,然后在主函数中创建一个新实例,只调用capitalize方法,该类执行整个魔术,并打印出用户的大写输入,使整个主方法看起来非常干净

    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()
第二个程序做同样的事情,但它在类主体中的方法较少,在主方法中的方法较多,它调用类中的方法并处理返回的结果,然后最终的print语句实际上在主方法中发出,与第一个程序不同,我认为当程序扩展和增长时,主方法可能会变得非常混乱


我的问题是,在现实生活中,哪种方法可以更好地扩展(即更可读、更易于调试),它们可能像15种方法,只调用一种方法来实现所有的魔力并获得结果,还是在主方法中逐个调用方法更好,有时我发现自己编写程序的第一种方式是调用一个方法,而类处理其他所有事情,这两个程序之间的速度是否有差异,哪一个会更快?

函数应该按照它们所说的做。让一个名为
capitalize()
的函数去调用一个函数来打印、提示和收集输入,这是令人困惑的

函数不应该只调用另一个函数而不提供任何值。
get\u result()
函数没有任何作用。调用
say_it()
会产生相同的结果

你的班级应该保留这些数据。这就是这个物体的全部意义。Main可以调用函数,但不应该包含数据。这些单词应该存储在课堂上


调用函数的人之间没有明显的性能差异。

我投票将这个问题作为离题题来结束,因为它属于codereview.stackexchange.com。代码甚至没有运行,您需要仔细观察Python中的格式设置!也就是说,你的程序最大的问题是它不需要使用类。有很多行都可以通过一行接一行地写下三个相关的行来剥离。@Ulrich我一定是在第二次运行时出错了,我在发布之前测试了它,如果你正确地阅读了我的问题,我想问的是,用一个方法启动整个程序并允许类完成工作并打印结果是否比逐个调用方法并处理返回值更好?我不想对这个程序进行改进,我只是想用这个程序作为我的问题原谅我,如果整个程序看起来很蹩脚,毫无意义,我只是想证明,用一个方法启动整个程序,而不是返回值和使用多个方法,是否有任何好处