python怎么访问属性_在Python中访问属性和方法

作为一种面向对象的编程语言,python强调对象。类是从中创建对象的蓝图。python中的每个类都可以具有许多属性,包括作为属性的函数。

访问类的属性

为了检查类的属性并操纵这些属性,我们使用了许多python内置方法,如下所示。getattr() -用于访问类属性的python方法。

hasattr() -用于验证类中属性是否存在的python方法。

setattr() -用于在类中设置附加属性的python方法。

以下程序说明了如何使用上述方法访问python中的类属性。

示例class StateInfo:

StateName='Telangana'

population='3.5 crore'

def func1(self):

print("Hello from my function")

print getattr(StateInfo,'StateName')

# returns true if object has attribute

print hasattr(StateInfo,'population')

setattr(StateInfo,'ForestCover',39)

print getattr(StateInfo,'ForestCover')

print hasattr(StateInfo,'func1')

输出结果

运行上面的代码给我们以下结果-Telangana

True

39

True

访问类的方法

要访问类的方法,我们需要将一个类实例化为一个对象。然后,我们可以将该方法作为类的实例方法进行访问,如下面的程序所示。在这里,通过self参数,实例方法可以访问同一对象上的属性和其他方法。

示例class StateInfo:

StateName='Telangana'

population='3.5 crore'

def func1(self):

print("Hello from my function")

print getattr(StateInfo,'StateName')

# returns true if object has attribute

print hasattr(StateInfo,'population')

setattr(StateInfo,'ForestCover',39)

print getattr(StateInfo,'ForestCover')

print hasattr(StateInfo,'func1')

obj = StateInfo()obj.func1()

输出结果

运行上面的代码给我们以下结果-Telangana

True

39

True

Hello from my function

从另一类访问一类的方法

要从另一个类访问一个类的方法,我们需要将被调用类的实例传递给调用类。下面的示例显示了它是如何完成的。

示例class ClassOne:

def m_class1(self):

print "Method in class 1"

# Definign the calling Class

class ClassTwo(object):

def __init__(self, c1):

self.c1 = c1

# The calling method

def m_class2(self):

Object_inst = self.c1()

Object_inst.m_class1()

# Passing classone object as an argument to classTwo

obj = ClassTwo(ClassOne)

obj.m_class2()

输出结果

运行上面的代码给我们以下结果-Method in class 1


版权声明:本文为weixin_30430677原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。