在Python中实例化类的替代方法

Sha*_*tle 1 python

我目前正在编写我的python类并像这样实例化它们

class calculations_class():
    def calculate(self):
        return True

Calculations = calculations_class()
Run Code Online (Sandbox Code Playgroud)

我想知道我是否正确地执行此操作,或者是否有任何其他方法来实例化它们.谢谢!

Ale*_*lli 7

除了其他答案正确指出的命名约定问题之外,你基本上没问题:调用类确实是迄今为止实例化该类的最常用方法.如果您需要任何每个实例初始化(最常见的是将某些实例属性设置为初始值),请确保定义__init__执行它的方法:

class Calculations(object):
  def __init__(self):
    self.running_total = 0  # or w/ever
  def calculate(self):
    ...

calc = Calculations()
Run Code Online (Sandbox Code Playgroud)

当你想出于某种原因绕过初始化部分时(例如,在从一些文件,数据库或来自其他进程的通信中反序列化实例的过程中 - pickle模块是这样的,实例化类的其他罕见方式通常会发生)需要这种先进方法的一个很好的例子.在Python学习体验的这个阶段,我认为你根本不应该担心它们.