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