从其他函数中获取变量值 Python

用户名

谁能帮我这个?

我有这两个函数...我只想将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'
利亚姆·麦金罗伊(Liam McInroy)

按照@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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章