J'essaye de changer la valeur d'une variable "memes" dans une fonction appelée "blague". La fonction Joke devrait changer la valeur des memes en 1313, mais ce n'est pas le cas et lorsque le print(str(memes)) est déclenché, la valeur de la variable "memes" est toujours 0.

class Bruhmoment:
    memes = 0
    def __init__(self, name):
        self.name=name
    global memes
    def joke(self):
        memes=1313
        print(str(memes))
0
gaspar 2 juin 2020 à 14:02

3 réponses

Meilleure réponse

Si vous recherchez une variable de classe (par opposition à une variable d'instance), vous devez faire les choses différemment:

class Bruhmoment:
    memes = 0
    def __init__(self, name):
       self.name = name
    def joke(self):
       Bruhmoment.memes = 1313
       return Bruhmoment.memes

b = Bruhmoment('xxx')
b.joke()
=> 1313
1
Óscar López 2 juin 2020 à 11:09

Essayez comme ceci:

memes = 0
def joke():
    global memes
    memes = 1313
joke()
print(str(memes))
-1
Saeed 2 juin 2020 à 11:10

Vous devez renvoyer la nouvelle valeur. Ajoutez return memes à la fin de votre fonction comme ceci:

def joke():
    memes = 1313
    return memes
0
lpd11 2 juin 2020 à 11:05