Python中实例化类的替代方法
我现在正在写我的Python类,并像这样创建它们的实例
class calculations_class():
def calculate(self):
return True
Calculations = calculations_class()
我在想这样做是否正确,或者有没有其他方法可以创建它们的实例。谢谢!
5 个回答
1
没错。
4
一般来说,类的名字通常是大写的(而且是驼峰式命名),而实例的名字则通常是小写的。总的来说,遵循这个规则就可以了。
class CalculationsClass():
def calculate(self):
return True
my_calc_instance = CalculationsClass()
7
除了其他答案提到的命名规范问题,你基本上是没问题的:调用一个类确实是创建这个类实例的最常见方式。如果你需要对每个实例进行一些初始化(通常是将一些实例属性设置为初始值),一定要定义一个__init__
方法来完成这项工作:
class Calculations(object):
def __init__(self):
self.running_total = 0 # or w/ever
def calculate(self):
...
calc = Calculations()
其他一些不常见的创建类实例的方法通常是在你想要绕过初始化部分时使用(比如,从某个文件、数据库或其他进程的通信中反序列化一个实例——pickle
模块就是一个需要这种高级方法的好例子)。我觉得在你学习Python的这个阶段,你完全不需要担心这些。