你应该只为一行代码使用一个函数吗?

时间:2017-11-15 14:12:50

标签: python function

我对python相对较新,我想知道从不写两次总是更好。我目前正在制作一个程序,在程序中的两个点可能需要将相同的句子保存到文件中(仅由该句子组成)。

为此制作功能是否值得?我想知道因为它现在占用了2行代码,但是创建一个函数会使它成为4(2定义函数,2定义函数)。

3 个答案:

答案 0 :(得分:1)

如果

,在功能中包裹一个单行
  • 调用函数看起来比它包装的代码更简单;
  • 您的代码中可能会重复多次;
  • 可能会改变(然后你只改变功能的主体,而不是每个地方都改变它。)

AFAIK,与C语言不同,其中简单函数可以被编译器内联,在Python中,调用包装函数会有(有时是重要的)性能开销。

答案 1 :(得分:0)

何时创建一个函数很大程度上取决于具体情况。它不仅仅是保存代码行 - 通常,更多行代码更好,因为它使维护更容易或更容易理解。

创建函数的一个原因是,这意味着如果您需要更改代码,只需要更改一个地方。

如果你应该创建一个函数,我不清楚你的情况。这取决于代码行。如果代码行只是调用另一个函数,那么将它包装在另一个函数中是没有意义的。如果它是一些复杂的线,有许多部分可能会发生变化,那么它可能是有意义的。

答案 2 :(得分:0)

你的意思是指定一个变量(我的意思是x = 7,或者rate = getSamplingRate(sound)/ 2)或写一个函数?我尝试在多次使用变量时分配变量,或者如果它使代码更容易阅读。

如果你的意思是定义一个像这样的新函数:

    def newSentence():

然后如果我多次做同样的事情,我会写一个新函数。如果您多次执行相同的操作,定义函数不会有什么坏处。

我认为,当你刚开始时,一个好的经验法则是首先让你的代码工作,然后确保它易于阅读(为你自己或者另一个人阅读你的程序),然后专注于效率

我也是Python的新手。我希望有所帮助。