在python中有一种方法可以声明def
而无需将其放入课堂。所以,如果我只需要在分离的类中存储许多def
,我应该这样做:
def first_method():
pass
def second_method():
pass
并且不使用@classmethod
或@staticmethod
?:
class methods():
@classmethod
def first_method(cls):
pass
@staticmethod
def second_method():
pass
如果第一种方式是正确的,我应该如何标记私人和公共方法?
答案 0 :(得分:3)
是。只需保留非实例方法的函数。
你的想法就像在Java中一样。 Python不是Java。 Python没有真正的方法来使用公共和私有方法 - 您可以更改名称以表明您希望某种形式的隐私(_
或__
在名称的开头),但这是不可执行的。
我发现在我用Python编程的所有时间里,我都不希望访问修饰符。
答案 1 :(得分:3)
Python中没有私有和公共方法。按照惯例,以单个下划线开头的名称被视为“私有”,在某种意义上,用户不应该依赖它们的存在。此外,您可以记录公共界面。其余所有都没有关系。
我会说,这套温和相关的功能将是一个更加琐碎的解决方案。