Python:函数放在哪里,在类中只使用一次?
我注意到函数A在函数B中只使用了一次。它们都属于同一个类。 如果功能A仅在功能B内部使用一次 我应该把它放在哪里?一个选项会比另一个更快吗 备选案文1: 将函数A写入函数B中Python:函数放在哪里,在类中只使用一次?,python,python-3.x,function,class,coding-style,Python,Python 3.x,Function,Class,Coding Style,我注意到函数A在函数B中只使用了一次。它们都属于同一个类。 如果功能A仅在功能B内部使用一次 我应该把它放在哪里?一个选项会比另一个更快吗 备选案文1: 将函数A写入函数B中 class-MyClass: 定义初始化(自): 通过 定义函数B(自身): def func_A(): 打印('a') func_A() 备选案文2: 将函数A作为类函数写入,与B处于同一级别 class-MyClass: 定义初始化(自): 通过 定义函数A(自身): 打印('a') 定义函数B(自身): self.
class-MyClass:
定义初始化(自):
通过
定义函数B(自身):
def func_A():
打印('a')
func_A()
备选案文2:
将函数A作为类函数写入,与B处于同一级别
class-MyClass:
定义初始化(自):
通过
定义函数A(自身):
打印('a')
定义函数B(自身):
self.func_A()
这实际上取决于func A
在做什么,以及是否在func B
之外需要它。就个人而言,为了简单起见,我想把它作为类中的一个方法放在func B
(选项2)之外。这是选项1,但选项2在这种情况下也会起作用。使用选项2可以在类中调用func_A(),因为它在类的作用域中,但如果您确定这不是必需的,您可以只执行选项1。如果函数func_A()
仅由func_B()
调用,而不是由任何其他函数或通过类对象调用,我建议不要创建func_A()
并在func\u B()中写入func\u A()的正文
这完全是基于意见的。你可以把你的函数放在任何你喜欢的地方,真的。您是否希望它作为类成员可见完全由您决定。您知道,它们有相同的“编码”成本。选项1还有其他优势吗?@zheyuanWang我不确定“编码”成本是多少,但从技术上讲,您可以在选项1内的类中使用另一个名为func_a的函数(这主意和实践都很糟糕),在这种情况下,您只能使用选项1
class MyClass:
def __init__(self):
pass
# def func_A(self):
# print('a')
def func_B(self):
print('a')