在类中,我们可以使用以下方式迭代并检查私有属性是否存在:
class MyClass: def init(self): self.__private_attr = 'This is a private attribute' self.public_attr = 'This is a public attribute'
def get_private_attr(self):
return self.__private_attr
def __str__(self):
return "Private attribute: {}\nPublic attribute: {}".format(self.__private_attr, self.public_attr)
mc = MyClass()
if hasattr(mc, "_MyClass__private_attr"): print(mc.get_private_attr()) else: print('Private attribute does not exist')
print(mc)
输出: This is a private attribute Private attribute: This is a private attribute Public attribute: This is a public attribute
在这个示例中,我们遍历了 MyClass 类的对象 mc,并使用 hasattr() 函数来检测私有属性是否存在。如果私有属性存在,则我们可以通过对象方法 get_private_attr() 访问它,否则我们将打印一条错误消息。此外,我们使用 str() 方法来打印 mc 对象的属性。
下一篇:遍历并只获取文件名?