当前位置: 首页 > 面试题库 >

Python中的实例变量与类变量

孟健
2023-03-14
问题内容

我有Python类,在运行时我只需要一个实例,因此每个类只具有一个属性就足够了,而每个实例只具有一次属性就足够了。如果将有多个实例(不会发生),则所有实例应具有相同的配置。我想知道以下哪种选择更好或更“惯用”的Python。

类变量:

class MyController(Controller):

  path = "something/"
  children = [AController, BController]

  def action(self, request):
    pass

实例变量

class MyController(Controller):

  def __init__(self):
    self.path = "something/"
    self.children = [AController, BController]

  def action(self, request):
    pass

问题答案:

我有Python类,在运行时我只需要一个实例,因此每个类只具有一个属性就足够了,而每个实例只具有一次属性就足够了。如果将有多个实例(不会发生),则所有实例应具有相同的配置。我想知道以下哪种选择更好或更“惯用”的Python。

类变量:

class MyController(Controller):

  path = "something/"
  children = [AController, BController]

  def action(self, request):
    pass

实例变量:

class MyController(Controller):

  def __init__(self):
    self.path = "something/"
    self.children = [AController, BController]

  def action(self, request):
    pass


 类似资料:
  • 问题内容: 我在下面的示例中进行了尝试,并需要进行澄清。在这两种情况下,我都可以在测试函数中访问类变量和实例。 因此,假设是否必须定义一个需要在所有函数中使用的文字,这将是定义..self变量或class变量的更好方法? code.py 问题答案: 类变量对于所有实例使用的“常量”非常有用(从技术上讲,所有方法都是如此)。您可以使用模块全局变量,但是使用类变量会使它与类更明确地关联。 您实际上也经

  • 本文向大家介绍简单分析python的类变量、实例变量,包括了简单分析python的类变量、实例变量的使用技巧和注意事项,需要的朋友参考一下 1、类变量、实例变量概念 类变量: 类变量就是定义在类中,但是在函数体之外的变量。通常不使用self.变量名赋值的变量。类变量通常不作为类的实例变量的,类变量对于所有实例化的对象中是公用的。 实例变量: 实例变量是定义在方法中的变量,使用self绑定到实例上的

  • 问题 你想创建类变量和实例变量(属性)。 解决方案 类变量 class Zoo @MAX_ANIMALS: 50 MAX_ZOOKEEPERS: 3 helpfulInfo: => "Zoos may contain a maximum of #{@constructor.MAX_ANIMALS} animals and #{@MAX_ZOOKEEPERS} zoo keep

  • 类变量: ​ 是可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的)。例如下例中,num_of_instance 就是类变量,用于跟踪存在着多少个Test 的实例。 实例变量: 实例化之后,每个实例单独拥有的变量。 class Test(object): num_of_instance = 0 def __init__(self, name): sel

  • 本文向大家介绍python的类变量和成员变量用法实例教程,包括了python的类变量和成员变量用法实例教程的使用技巧和注意事项,需要的朋友参考一下 本文实例形式讲解了python的类变量和成员变量用法,对于Python程序设计有一定的参考价值。分享给大家供大家参考。具体如下: 先看看下面这段代码: 这里,val1是类变量,可以由类名直接调用,也可以有对象来调用; val2是成员变量,可以由类的对象

  • 静态变量和实例变量之间的区别是什么。下面这句话是我无法理解的: 在某些情况下,一个类的所有对象只能共享一个特定变量的副本——这里使用静态变量。 静态变量代表类范围的信息。一个类的所有对象共享相同的数据。 我认为实例变量在类范围内使用,而静态变量只在它们自己的方法中有作用域?