零基础入门python动动手第二题,
Turtle类里面__init__方法定义了self.power属性,但按照函数的概念self.power不是局部变量么,为什么Turtle类里面eat()方法可以调用self.power属性。另外第十六与第十七行new_x,new_y是不是应该用self.new_x,self.new_y。 开个丸笑 发表于 2018-1-22 13:40能不能稍微说的详细一点哈,没听懂
1 self.power这个变量的作用域是整个类,所以在类中的其他任何地方都可以直接调用
2 new_x, new_y 只是两个暂时的变量,仅在move函数中有效,因为后面用它们进行了判断和赋值,用完之后就被抛弃了 你如果将power视为局部变量,那么这个局部的范围就是整个类
new_x只是一个真正的局部变量 BngThea 发表于 2018-1-22 07:32
你如果将power视为局部变量,那么这个局部的范围就是整个类
new_x只是一个真正的局部变量
能不能稍微说的详细一点哈,没听懂{:5_95:} 加了self.就是类的成员变量. 如self.power.没加self.如new_x就是局部变量.即只在move函数内有效
页:
[1]