标签:不同 article 图片 tee pytho cheng err ued 要求
这里不详细介绍类,只总结一些小萌新在学习python 类时会有的一些疑点。
class Test: def __init__(self, foo): self.__foo = foo def __bar(self): print(self.__foo) print(‘__bar‘) def main(): test = Test(‘hello‘) # AttributeError: ‘Test‘ object has no attribute ‘__bar‘ test.__bar() # AttributeError: ‘Test‘ object has no attribute ‘__foo‘ print(test.__foo) if __name__ == "__main__": main()
可以看到,以上调用方法都会因为没有权限给返回错误
# AttributeError: ‘Test‘ object has no attribute ‘__bar‘
如果想要调用私有的属性,使用如下方式:
def main(): test = Test(‘hello‘) test._Test__bar() print(test._Test__foo)
class Dog: def __init__(self): print(self,"在调用构造方法") # 定义一个jump()方法 def jump(self): print(self,"正在执行jump方法") # 定义一个run()方法,run()方法需要借助jump()方法 def run(self): print(self,"正在执行run方法") # 使用self参数引用调用run()方法的对象 self.jump() dog1 = Dog() dog1.run() dog2 = Dog() dog2.run()
class ReturnSelf : def grow(self): if hasattr(self, ‘age‘): print(hasattr(self,‘age‘)) self.age += 1 else: self.age = 1 # return self返回调用该方法的对象 print(self.age) return self rs = ReturnSelf() # 可以连续调用同一个方法 rs.grow().grow().grow() print("rs的age属性值是:", rs.age)
返回值为
参考链接:http://c.biancheng.net/view/2266.html
标签:不同 article 图片 tee pytho cheng err ued 要求
原文地址:https://www.cnblogs.com/foe0/p/11506466.html