在 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)
输出
以下是使用点符号访问实例变量的输出。
欢迎来到 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