这段时间比较空闲,所以工作之余网上找了《21天学通Python》这本书来学习。书中的好多例子都有错误,不知道是不是印刷问题,所以记录一下:
【实例6-4】演示了在类中调用类自身的方法和全局函数的实例,代码如下:
def coord_chng(x,y):
return (abs(x),abs(y))
class Ant:
def __int__(self, x=0, y=0):
self.x = x
self.y = y
self.disp_point()
def move(self, x, y):
x, y = coord_chng(x, y)
self.edit_point(x, y)
self.disp_point()
def edit_point(self, x, y):
self.x += x
self.y += y
def disp_point(self):
print("当前位置:(%d, %d)" % (self.x, self.y))
ant_a = Ant()
ant_a.move(2, 4)
ant_a.move(-9, 6)
按F5:
Traceback (most recent call last):
File "E:/Python/Demo/第6章/3.py", line 24, in <module>
ant_a.move(2, 4)
File "E:/Python/Demo/第6章/3.py", line 12, in move
self.edit_point(x, y)
File "E:/Python/Demo/第6章/3.py", line 16, in edit_point
self.x += x
AttributeError: 'Ant' object has no attribute 'x'
------------------------------------------------------------------------------------------------------------
查看应该是没有初始化的缘故,调用修改为:
ant_a = Ant()
ant_a.__int__()
ant_a.move(2, 4)
ant_a.move(-9, 6)
F5:
当前位置:(0, 0)
当前位置:(2, 4)
当前位置:(11, 10)
OK!