覆写Python的内置方法
本文最后更新于:1 年前
1.我们可以通过覆写类的内置方法str,来控制print()函数的打印格式
class Point:
"""简单的坐标类"""
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __str__(self):
return "<{},{}>".format(self.x, self.y)
if __name__ == '__main__':
point = Point(1, 1)
print(point)
1.1 没有覆写内置方法str时,print()函数的打印结果:
<__main__.Point object at 0x000001D7FD4EB610>
仅仅只会显示类Point的实例对象point的地址
1.2 覆写内置方法str时,print()函数的打印结果:
<1,1>
就会打印出我们预想的结果
2.我们可以通过覆写类内置方法init,来获得类似于C++/Java的访问限制
2.1 私有属性的设置
class Point:
"""简单的坐标类"""
def __init__(self, x=0, y=0):
self.__x = x
self.__y = y
前面加两个下划线,表示该属性只能直接在类里面直接访问,或者由类自己的方法来直接访问,类以外的不可以直接访问,但是我们同样可以向C++/Java那样书写Set和Get方法来间接的访问类的私有属性。
2.2 受保护属性的设置
class Point:
"""简单的坐标类"""
def __init__(self, x=0, y=0):
self._x = x
self._y = y
受保护属性前面只用加一个下划线,其他的和私有属性基本一致
2.3 以上设置,均属于程序员自己的自我约束/规定,Python并没有强制要求这样书写,但大多数Python程序员都遵守此约定,所以我推荐各位也按照这样来书写,方便以后的阅读。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!