Interactions locales et globales
Salut Alexis,
Si tu n'as pas une variable avec le même nom dans ta fonction, alors tu peux effectivement utiliser et modifier une variable de ton espace global dans ta fonction.
Ça change dès que tu crées une variable avec le même nom : tu auras à ce moment deux variables distinctes : une dans l'espace globale, et une dans l'espace locale de ta fonction :
a = 5
def foo():
print(a) # Affiche 5
a = 5
def foo():
a = 10
print(a) # Affiche 10
print(a) # Affiche 5
Bonjour à tous,
Ma question est très similaire pour cette raison que je la poste ici:
J'ai cru comprendre qu'il étais mieux de nommer les variables dans une fonction differement des autres variable qui ce trouive à l'exterieur de la fonction.
Et comme j'aurais tendance à me tromper j'ai penser à les nommer de cette fàçon.
Et c'est en rajoutant un (f_nom_de_la_variable) :
def somme_deux_numero(f_nb1: float, f_nb2: float) -> float:
return f_nb1 + f_nb2
def somme_trois_numero(f_nb1: float, f_nb2: float, f_nb3: float) -> float:
return f_nb1 + f_nb2 + f_nb3
nb1 = 10.3
nb2 = 11.1
nb3 = 20
print(somme_deux_numero(nb1, nb2))
print(somme_trois_numero(nb1, nb2, nb3))
C'est idiot ou ?
Merci.
Bonjour Claude,
Normalement, pas de problème à nommer tes variables de la même façon dans la fonction, car la portée est différente, la variable locale à la fonction ne va ainsi pas modifier / impacter ta variable dans l'espace global du script et vice versa.
Le plus important, c'est surtout de donner des noms explicites à tes variables. Je conseille d'éviter les raccourcis "nb" qui ne font que complexifier la lecture du code et ne changent pas grand chose aujourd'hui en terme de place avec nos IDE qui complètent tout pour nous ^^
Pour ton script je ferais donc :
def somme_deux_numero(nombre_01: float, nombre_02: float) -> float:
return nombre_01 + nombre_02
nombre_01 = 10.3
nombre_02 = 11.1
print(somme_deux_numero(nombre_01, nombre_02))
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte