Fonction deux: variables locales et variables globales

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

  


  

Je suppose que tu aimes

Origine www.cnblogs.com/yxzymz/p/12727607.html
conseillé
Classement