我阅读了狮身人面像文档页面,讽刺的是发现关于var,ivar和cvar之间差异的文档非常缺乏。我想知道是否有人可以解释内联代码中每个不同 namespace 之间的区别。

例子:

class foo(object):
    """
      :var str first:
      :ivar str last:
      :cvar str middle:
    """

这些狮身人面像标签之间的每个有何不同?我如何知道哪一个是按设计正确使用的正确标签?

最佳答案

当然,var是一个通用变量。当您不想对要记录的变量进行进一步区分时,请使用此选项。
ivar是“实例变量”,或在实例对象(类的实例)上设置的变量。通常,这些将在__init__方法内部定义(在Python中)。
cvar是“类变量”,或者是直接在类对象上设置的变量。通常,这可以在类语句中设置,但可以在类中的任何特定方法之外设置。

这是一个例子:

class SomeClass(object):

    cvar = 'I am a class variable'

    def __init__(self):
        self.ivar = 'I am an instance variable'

关于python - python的狮身人面像中的var,cvar和ivar有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41052221/

10-09 17:07