【问题标题】:How to reuse function codes in python如何在python中重用函数代码
【发布时间】:2014-12-19 15:11:32
【问题描述】:

我有以下代码的基本功能:

def func_0():
    codes_segment_a
    codes_segment_b
    codes_segment_c

许多其他小函数与 func_0 共享代码,但许多添加了一些新代码。 以如下函数为例:

def func_x():
    new codes...
    codes_segment_a
    codes_segment_b
    new codes...
    codes_segment_c

我想出的最简单和最繁琐的解决方案是复制和粘贴共享代码。 但它看起来很愚蠢,因为我有超过 20 个这样的功能。

我是python新手,请给我一些建议。 详细的解释或示例是非常优选的。 谢谢。

【问题讨论】:

  • 如果你经常重复使用这些代码段,就让它们成为函数,这就是函数存在的原因!
  • 为什么不OOP
  • 这些共享代码段很短,比如说,4~6 句长。
  • 因此,与复制/粘贴方式相比,使这些代码段功能看起来不那么简洁......
  • 这些函数实际上是一个类的内部函数。因此,我犹豫是否使用 OOP 将这些函数组织为新类,尽管使用继承来实现我的工作非常好。

标签: python function reusability


【解决方案1】:

一种通用方法是使用类和继承。一个超级简化的示例(但请参阅Classes 了解如何正确使用类和继承):

class Reuse(object):
    def square(self, x):
        return x**2

class Specific(Reuse):
    def times3(self,x):
        return x*3

sp = Specific()
print(sp.times3(4))

12

print(sp.square(4))

16

如果您将实用程序函数放在“顶级”类中,然后创建从该类继承但包含您想要的特定功能的新类,那么您只需要创建一次实用程序函数。制作非常短的函数,即使是 3-4 行也没有错,因为它可以提高可读性和效率。

【讨论】:

  • 这些函数实际上是一个类的内部函数。因此,我犹豫是否使用 OOP 将这些函数组织为新类,尽管使用继承来实现我的工作非常好。在这种情况下,您仍然建议使用 OOP 吗?谢谢。
  • 从你的描述来看,正是使用继承的好时机
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 2020-06-14
  • 1970-01-01
  • 2010-10-16
  • 1970-01-01
相关资源
最近更新 更多