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


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

在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)

输出

以下是使用点表示法访问实例变量的输出。

Welcome to Tutorialspoint, Have a happy learning!

使用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

更新于:2023年10月20日

394 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告