在 Python 中访问实例变量的不同方法

pythonserver side programmingprogramming

实例变量通常用于表示对象的状态或属性。类的每个实例都可以拥有自己的一组实例变量,这些变量可以存储唯一值。实例变量在类的方法中定义,并且可以在实例的整个生命周期内访问。

在 Python 中访问实例变量

使用实例变量所带来的灵活性允许每个实例维护自己的一组变量,从而为不同的对象实现自定义行为和数据存储。因此,在 Python 中访问实例变量是一个有用的步骤。在 Python 中有多种访问实例变量的方法,让我们逐一看看。

使用点符号

可以使用点符号以及实例名称来访问实例变量。这是访问实例变量的简单方法。以下是使用点符号的语法。

instance.variable_name

其中,

  • instance 是实例。

  • variable_name 是变量的名称。

  • 表示点符号。

示例

在此示例中,我们将使用点符号从用户定义类访问实例变量,然后将实例变量作为输出返回。

class sample_class:
   def __init__(self, variable):
      self.variable = variable

instance = sample_class("Welcome to Tutorialspoint, Have a happy learning!")
print(instance.variable)

输出

以下是使用点符号访问实例变量的输出。

欢迎来到 Tutorialspoint,祝您学习愉快!

使用 self 关键字

在类中,self 关键字是实例的引用。可以使用 self.variable_name 访问类中的实例变量。以下是使用 self 关键字访问实例变量的语法。

self.variable_name

示例

如果我们想从定义的类访问实例变量,我们可以使用 self 关键字。

class sample:
   def __init__(self, variable):
      self.variable = variable

   def print_variable(self):
      print(self.variable)

instance = sample("Welcome to Tutorialspoint, Have a happy learning!")
instance.print_variable()

输出

Welcome to Tutorialspoint, Have a happy learning!

使用 dict 属性

在 Python 语言中的每个实例中,都存在一个名为 __dict__ 的字典,它包含所有实例变量。因此,我们可以借助 __dict__ 属性访问实例变量。以下是使用 dict 属性的语法。

instance.__dict__[variable_name]

示例

在此示例中,我们将使用 __dict__ 属性来获取类的实例变量。

class sample:
   def __init__(self, variable):
      self.variable = variable
instance = sample("Python is one of the popular programming languages")
print(instance.__dict__['variable'])

输出

Python is one of the popular programming languages

使用 getattr() 函数

Python 提供了一个内置函数,即 getattr(),它接受两个参数:一个对象和一个字符串。此函数返回对象内指定属性的值。以下是使用 getattr() 函数的语法。

getattr(instance, 'variable_name')

示例

如果我们想从用户定义的类中获取实例变量,我们需要将实例和变量名称传递给 getattr() 函数。

class sampe_class:
   def __init__(self, variable):
      self.variable = variable

instance = sampe_class("Hello, Python is one of the popular programming languages!")
print(getattr(instance, 'variable'))

输出

Hello, Python is one of the popular programming languages!

使用 hasattr() 函数

hasattr() 函数与 getattr() 函数相同,但唯一的区别是 hasattr() 返回布尔值 True 或 False。如果变量存在于类中,则输出将返回为 True,否则返回为 False。

语法

以下是使用 getattr() 函数的语法。

hasattr(instance, 'variable_name')

示例

以下示例演示了 hasattr() 函数获取实例变量。

class sampe_class:
   def __init__(self, variable):
      self.variable = variable

instance = sampe_class("Hello, Python is one of the popular programming languages!")
print(hasattr(instance, 'variable'))

输出

True

相关文章