原代码:
# -*- coding: utf-8 -*-
class PositiveInteger(int):
def __init__(self, value):
super().__init__(value)
if __name__ == '__main__':
# 实例化
i = PositiveInteger(-3)#
print(i)
期望输出:
-3
实际输出:
报错原因:
这里__init__()不能加任何参数,否则会报错。
因为父类 int 中没有任何参数,所以不能传入参数。
# __init__修改前
super().__init__(value)
# __init__修改后
super().__init__()
debug后:
# -*- coding: utf-8 -*-
class PositiveInteger(int):
def __init__(self, value):
super().__init__()
if __name__ == '__main__':
# 实例化
i = PositiveInteger(-3)# -3
print(i)
-3
总结:
1.__init__()
中的参数需要依照父类的参数添加。
版权声明:本文为qq_36056219原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。