


Utilisez Python cinq points pour obtenir la méthode scope
Mar 16, 2017 pm 04:25 PM1. Portée au niveau du bloc
Pensez-y, y aura-t-il une sortie lors de l'exécution du programme suivant à ce moment-là ? L'exécution sera-t-elle réussie ?
#块级作用域 if 1 == 1: name = "lzl" print(name) for i in range(10): age = i print(age)
Jetons d'abord un coup d'œil aux résultats de l'exécution
C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py lzl 9
Processus terminé avec le code de sortie 0
Le code a été exécuté avec succès, pas de problème en Java ; /C# Dans , l'exécution du code ci-dessus indiquera que le nom et l'âge ne sont pas définis, mais dans Python, il peut être exécuté avec succès car il n'y a pas de portée au niveau du bloc. Python. La variable peut être appelée en externe, afin qu'elle puisse s'exécuter avec succès
2. Portée locale En rappelant les connaissances apprises auparavant, nous apprenons le <.> fonctionLorsque la fonction est une portée distincte. Il n'y a pas de portée au niveau du bloc en Python, mais il existe une portée locale ; regardez le code suivant #Portée locale
Exécutez cette section Code, demandez-vous s'il y aura une sortie ?def func(): name = "lzl" print(name)
Traceback (most recent call last): File "C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py", line 23, in <module> print(name) NameError: name 'name' is not defined
#局部作用域 def func(): name = "lzl" func() #执行函数 print(name)
Traceback (most recent call last): File "C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py", line 23, in <module> print(name) NameError: name 'name' is not defined
3. Chaîne de portée
Effectuer des ajustements à la fonction et voir comment le code suivant s'exécute ?
Après avoir appris les fonctions, vous devez savoir que Snor sera affiché après l'exécution de f1(). Rappelons d'abord un concept. Il existe une chaîne de portée en Python. Les variables seront recherchées de l'intérieur. l'extérieur. Allez d'abord chez vous. En cherchant la lunette, je ne suis pas allé voir les supérieurs pour la chercher jusqu'à ce que je ne la trouve pas et que j'ai signalé une erreur#作用域链 name = "lzl" def f1(): name = "Eric" def f2(): name = "Snor" print(name) f2() f1()
4. La version ultime de la lunette.
D'accord, assez de préparation, la version ultime est ici~~
Réfléchissez à la question de savoir si le résultat final de l'exécution de f2() doit imprimer "lzl" ou "eric" ? N'oubliez pas votre réponse. Au lieu de publier la réponse maintenant, jetez un œil au code suivant :#终极版作用域 name = "lzl" def f1(): print(name) def f2(): name = "eric" f1() f2()
#终极版作用域 name = "lzl" def f1(): print(name) def f2(): name = "eric" return f1 ret = f2() ret() #输出:lzl
#终极版作用域 name = "lzl" def f1(): print(name) def f2(): name = "eric" f1() f2() # 输出:lzl
5. Questions d'entretien avec Sina
Jugement Quel type de li ? De quel type sont les éléments de li ?li = [lambda :x for x in range(10)]
print(type(li)) print(type(li[0])) # <class 'list'> # <class 'function'>
#lambada 面试题 li = [lambda :x for x in range(10)] res = li[0]() print(res) #输出:9
est 9 et non 0. N'oubliez pas : le code interne ne sera pas exécuté avant que la fonction ne soit exécutée ; le blog par vous-même Pratiquez et approfondissez votre impression
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quels sont les avantages et les inconvénients des modèles ?

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment enregistrer la fonction d'évaluation
