Variables locales et globales
1. Variables globales: variables qui prennent effet à l'échelle mondiale
name = 'lhf' #Le haut est écrit sans indentation et prend effet dans tout le fichier py
def fox ():
name = "sb"
print ("shuaige", name) #Ce nom est à l'intérieur de la fonction fox (), qui est une variable locale
fox () #Le nom affiché ici est "sb"
print ( name) #La sortie du nom ici est la variable globale "lhf"
Si vous voulez changer la variable globale dans la fonction, vous pouvez essayer la méthode suivante
name = 'lhf' #Aucune indentation en haut n'est efficace dans l'ensemble py
def fox ():
global name
name = "sb"
print ("shuaige", name) #Le nom à l'intérieur est à l'intérieur de la fonction fox () Est une variable locale
fox () #Le nom de sortie ici est "sb"
print (nom) #Le résultat de sortie est "sb", car le nom global est de changer la variable globale
Supplément de Piggy Page: il n'y a pas de global dans la fonction, la priorité est de lire les variables locales, sinon, les variables globales sont lues,
s'il y a global, les variables globales sont modifiées
name = "sb"
def a ():
nom global #Modifications aux variables globales
name = "2b"
print ("i fcuk", name)
def b ():
name = "haha"
print ("i want to fuck ", name) #Bien que la variable globale ait changé, mais lors de l'appel de la fonction b, elle utilise sa propre variable locale
a ()
b ()
print (name) # A ce moment, la variable globale a changé et devient 2b
! ! ! Les variables globales sont toutes en majuscules et les variables locales sont toutes en minuscules ! ! !
Pratique:
def weihou ():
nom = "chenzhuo"
def weiweihou ():
nom global # Rejoignez global à un niveau plus profond et préférez choisir vos propres variables locales lors de l'appel
name = "lengjing"
weiweihou ()
imprimer (nom)
imprimer (nom)
weihou ()
imprimer (nom)
# Résultat de sortie: gangniang
chenzhuo
lengjing
Exercices d'extension
def weihou (): nom = "chenzhuo" def weiweihou (): nom non local #! ! ! Non local désigne ici la modification de la variable au niveau précédent sans modifier la variable globale name = "lengjing" weiweihou () imprimer (nom) imprimer (nom) weihou () imprimer (nom) # Résultat de sortie: gangniang # lengjing # gangniang