谁能帮我这个?
我有这两个函数...我只想将SP值带到create_ball_numbers ...但总是出现错误msg ...(如下所示)
class have_settings():
def create_ball_speed(self, speed):
self.the_ball_speed = speed
self.sp = 0
if self.the_ball_speed == "slow":
self.sp = 2
elif self.the_ball_speed == "normal":
self.sp = 4
elif self.the_ball_speed == "fast":
self.sp = 6
def create_ball_numbers(self, number):
self.the_ball_number = number
if self.the_ball_number in (1,2,3):
for n in range(self.the_ball_number):
self.position_x = random.randrange(10,734)
self.position_y = random.randrange(10,200)
self.ball_img = games.load_image("ball.jpg")
self.ball = Bounce(image = self.ball_img,
x = self.position_x,
y = self.position_y,
dx = sp,
dy = -1)
games.screen.add(self.ball)
味精错误...
NameError: global name 'sp' is not defined
或者
AttributeError: 'Application' object has no attribute 'sp'
按照@Benjamin的话做,但是将所有全局变量放在类定义的顶部也被认为是一种好习惯。例子:
class Foo:
Bar = 0
def __init__(self, bar):
self.Bar = bar
def doStuff(self):
for i in xrange(10000):
print(self.Bar)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句