Comment utiliser les variables dans Python 3

introduction

LesVariables sont un concept de programmation important à maîtriser. Ce sont essentiellement des symboles qui représentent une valeur que vous utilisez dans un programme.

Ce didacticiel abordera certaines notions de base relatives aux variables et leur utilisation au sein des programmes Python 3 que vous créez.

Comprendre les variables

En termes techniques, une variable affecte un emplacement de stockage à une valeur liée à un nom ou à un identifiant symbolique. Le nom de la variable est utilisé pour référencer cette valeur stockée dans un programme informatique.

Vous pouvez considérer une variable comme une étiquette portant un nom, que vous associez à une valeur:

Variables in Python

Disons que nous avons un entier,103204934813, et que nous voulons le stocker dans une variable plutôt que de retaper continuellement le nombre long encore et encore. Au lieu de cela, utilisons quelque chose qui est facile à retenir comme la variablemy_int:

my_int = 103204934813

Si nous le considérons comme une étiquette liée à la valeur, cela ressemblera à ceci:

Python Variable Example

L'étiquette a le nom de variablemy_int écrit dessus, et est liée à la valeur entière103204934813.

La phrasemy_int = 103204934813 est unassignment statement, qui se compose de quelques parties:

  • le nom de la variable (my_int)

  • leassignment operator, également appelé signe égal (=)

  • la valeur qui est liée au nom de la variable (103204934813)

Ensemble, ces trois parties constituent l'instruction qui définit la variablemy_int égale à la valeur de l'entier103204934813.

Dès que nous définissons une variable égale à une valeur, nousinitialize ou créons cette variable. Une fois que nous avons fait cela, nous sommes prêts à utiliser la variable au lieu de la valeur. En Python, les variables n'ont pas besoin de déclaration explicite avant d'être utilisées, contrairement à certains langages de programmation; vous pouvez commencer à utiliser la variable immédiatement.

Dès que nous définissonsmy_int égal à la valeur de103204934813, nous pouvons utilisermy_int à la place de l'entier, donc imprimons-le:

print(my_int)
Output103204934813

En utilisant des variables, nous pouvons rapidement et facilement fairemath. Avecmy_int = 1040, soustrayons la valeur entière 813:

print(my_int - 813)
Output103204934000

Dans cet exemple, Python fait le calcul pour nous, en soustrayant 813 de la variablemy_int pour renvoyer la somme103204934000.

En parlant de mathématiques, les variables peuvent être égales au résultat d’une équation mathématique. Ajoutons deux nombres ensemble et stockons la valeur de la somme dans la variablex:

x = 76 + 145

L’exemple ci-dessus peut ressembler à quelque chose que vous connaissez déjà: l’algèbre. En algèbre, les lettres et autres symboles sont utilisés pour représenter des nombres et des quantités dans des formules et des équations, tout comme les variables sont des noms symboliques qui représentent la valeur d'un type de données. Pour que la syntaxe Python soit correcte, vous devez vous assurer que votre variable est à gauche des équations.

Allons-y et imprimonsx:

print(x)
Output221

Python a renvoyé la valeur221 car la variablex a été définie égale à la somme de76 et145.

Les variables peuvent représenter n’importe quel type de données, pas seulement des entiers:

my_string = 'Hello, World!'
my_flt = 45.06
my_bool = 5 > 9 #A Boolean value will return either True or False
my_list = ['item_1', 'item_2', 'item_3', 'item_4']
my_tuple = ('one', 'two', 'three')
my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}

Si vous imprimez l'une des variables ci-dessus, Python renverra ce à quoi cette variable est équivalente. Par exemple, travaillons avec l'instruction d'affectation pour leslist data type ci-dessus:

my_list = ['item_1', 'item_2', 'item_3', 'item_4']
print(my_list)
Output['item_1', 'item_2', 'item_3', 'item_4']

Nous avons passé la valeur de liste de['item_1', 'item_2', 'item_3', 'item_4'] à la variablemy_list, puis avons utilisé la fonctionprint() pour imprimer cette valeur en appelantmy_list.

Les variables fonctionnent en découpant une petite zone de mémoire dans votre ordinateur qui accepte les valeurs spécifiées qui sont ensuite associées à cet espace.

Variables de nommage: règles et style

La dénomination des variables est assez flexible, mais vous devez garder à l’esprit certaines règles:

  • Les noms de variables ne doivent contenir qu'un seul mot (comme dans aucun espace)

  • Les noms de variable doivent être composés uniquement de lettres, de chiffres et de traits de soulignement (_)

  • Les noms de variables ne peuvent pas commencer par un nombre

En suivant les règles ci-dessus, examinons les noms de variable valides et non valides:

Valide Invalide Pourquoi invalide

mon_int

mon-int

Les traits d'union ne sont pas autorisés

int4

4int

Ne peut pas commencer par un nombre

MY_INT

$MY_INT

Impossible d'utiliser des symboles autres que_

autre_int

un autre int

Il ne peut pas y avoir plus d'un mot

Une autre chose à garder à l'esprit lorsque vous nommez des variables, c'est qu'elles sont sensibles à la casse, ce qui signifie quemy_int,MY_INT,My_Int etmY_iNt sont toutes des variables complètement différentes. Évitez d'utiliser des noms de variable similaires dans un programme afin de vous assurer, ainsi que vos collaborateurs actuels et futurs, que vos variables restent droites.

Enfin, quelques notes sur le style. Classiquement, lorsque vous nommez des variables, il est habituel de les commencer par une lettre minuscule et d'utiliser des tirets bas pour séparer les mots. Commencer par une lettre majuscule n'est pas invalide, et certaines personnes peuvent préférer camelCase ou des lettres majuscules et minuscules mélangées lors de l'écriture de leurs variables, mais ce sont des choix moins conventionnels.

Style conventionnel Style non conventionnel Pourquoi non conventionnel

mon_int

myInt

camelCase pas conventionnel

int4

Int4

Première lettre majuscule non conventionnelle

ma_première_chaîne

myFirstString

camelCase pas conventionnel

Le choix de style le plus important que vous puissiez faire est d’être cohérent. Si vous commencez à travailler sur un projet existant qui utilise camelCase pour ses noms de variables, il est préférable de continuer à utiliser le style existant.

PEP 8 est le guide de style officiel du code Python et il répond à de nombreuses questions stylistiques que vous pourriez avoir sur Python. En général, la lisibilité et la cohérence sont privilégiées par rapport aux autres préoccupations stylistiques.

Réaffectation de variables

Comme l'indique le motvariable, les variables Python peuvent être facilement modifiées. Cela signifie que vous pouvez connecter très facilement une valeur différente à une variable précédemment affectée par simple réaffectation.

Il est utile de pouvoir réaffecter des ressources car, tout au long du programme, vous devrez peut-être accepter les valeurs générées par l'utilisateur dans des variables déjà initialisées ou modifier l'affectation pour un élément défini précédemment.

Savoir que vous pouvez facilement et facilement réaffecter une variable peut également être utile dans les situations où vous travaillez sur un programme volumineux qui a été lancé par quelqu'un d'autre et que vous ne savez pas encore ce qui a déjà été défini.

Affectons d'abordx sous forme d'entier, puis réaffectons-les en tant questring:

#Assign x to be an integer
x = 76
print(x)

#Reassign x to be a string
x = "Sammy"
print(x)
Output76
Sammy

L'exemple ci-dessus montre que nous pouvons d'abord affecter la variablex et lui attribuer la valeur d'un entier, puis réaffecter la variablex en lui attribuant cette fois la valeur d'une chaîne.

Si nous réécrivions le programme de cette façon:

x = 76
x = "Sammy"
print(x)

Nous ne recevrions que la deuxième valeur affectée en tant que sortie puisqu'il s'agissait de la dernière affectation:

OutputSammy

Réaffecter des variables peut être utile dans certains cas, mais vous voudrez être conscient de la lisibilité de votre code et vous efforcer de rendre votre programme aussi clair que possible.

Affectation multiple

Avec Python, vous pouvez affecter une seule valeur à plusieurs variables à la fois. Cela vous permet d'initialiser plusieurs variables à la fois, que vous pouvez réaffecter vous-même ultérieurement dans le programme ou par saisie de l'utilisateur.

Grâce à une affectation multiple, vous pouvez définir les variablesx,y etz sur la valeur de l'entier0:

x = y = z = 0
print(x)
print(y)
print(z)
Output0
0
0

Dans cet exemple, les trois variables (x,y etz) sont affectées au même emplacement mémoire. Ils sont chacun égal à la valeur de 0.

Python vous permet également d’attribuer plusieurs valeurs à plusieurs variables d’une même ligne. Chacune de ces valeurs peut être d'un type de données différent:

j, k, l = "shark", 2.05, 15
print(j)
print(k)
print(l)
Outputshark
2.05
15

Dans l'exemple ci-dessus, la variablej a été affectée à la chaîne"shark", la variablek a été affectée au float2.05 et la variablel était affecté à l'entier15.

Cette approche permettant d'affecter plusieurs variables à plusieurs valeurs sur une seule ligne permet de garder les lignes de code réduites, mais veille à ne pas compromettre la lisibilité pour moins de lignes de code.

Variables globales et locales

Lorsque vous utilisez des variables dans un programme, il est important de garder à l'espritvariable scope. La portée d’une variable fait référence aux endroits auxquels elle est accessible dans le code d’un programme donné. Cela signifie que toutes les variables ne sont pas accessibles à partir de toutes les parties d'un programme donné - certaines variables seront globales et d'autres seront locales.

Global variables existe en dehors defunctions. Local variables existent dans les fonctions.

Jetons un coup d’œil aux variables globales et locales en action:

#Create a global variable, outside of a function
glb_var = "global"

#Define a function
def var_function():
    lcl_var = "local" #Create a local variable, inside function
    print(lcl_var)

#Call function to print local variable
var_function()

#Print global variable outside function
print(glb_var)
Outputlocal
global

Le programme ci-dessus affecte la variable globaleglb_var en dehors de toute fonction, puis définit la fonctionvar_function(). À l'intérieur de la fonction, une variable locale appeléelcl_var est affectée puis imprimée. Le programme se termine en appelant lesvar_function() puis en imprimant lesglb_var.

Puisqueglb_var est une variable globale, nous pouvons y faire référence dansvar_function(). Modifions le petit programme ci-dessus pour le faire:

glb_var = "global"

def var_function():
    lcl_var = "local"
    print(lcl_var)
    print(glb_var) #Print glb_var within function

var_function()
print(glb_var)
Outputlocal
global
global

Nous avons maintenant la variable globaleglb_var imprimée deux fois, car elle est imprimée à la fois par la fonction et en dehors de la fonction.

Et si nous essayions d'appeler la variable locale en dehors de la fonction?

glb_var = "global"

def var_function():
    lcl_var = "local"
    print(lcl_var)

print(lcl_var)
OutputNameError: name 'lcl_var' is not defined

Nous ne pouvons pas utiliser une variable locale en dehors de la fonction dans laquelle elle est assignée. Si nous essayons de le faire, nous recevrons unNameError en retour.

Voyons un autre exemple où nous utilisons le même nom de variable pour une variable globale et une variable locale:

num1 = 5 #Global variable

def my_function():
    num1 = 10 #Use the same variable name num1
    num2 = 7 #Assign local variable

    print(num1) #Print local variable num1
    print(num2) #Print local variable num2

#Call my_function()
my_function()

#Print global variable num1
print(num1)
Output10
7
5

Comme la variable locale denum1 est affectée localement dans une fonction, lorsque nous appelons cette fonction, nous voyonsnum1 comme égal à la valeur locale de10. Lorsque nous imprimons la valeur globale denum1 après avoir appelémy_function(), nous voyons que la variable globalenum1 est toujours égale à la valeur de5.

Il est possible d’affecter des variables globales dans une fonction à l’aide de l’instructionglobal de Python:

def new_shark():
    #Assign variable as global
    global shark
    shark = "Sammy"

#Call new_shark() function
new_shark()

#Print global variable shark
print(shark)

Même si la variableshark a été affectée localement dans la fonctionnew_shark(), elle est accessible en dehors de la fonction en raison de l'instructionglobal utilisée avant l'affectation de la variable dans la fonction. En raison de cette instructionglobal, lorsque nous appelonsprint(shark) en dehors de la fonction, nous ne recevons pas d'erreur. Bien que vouscanattribuez une variable globale dans une fonction, vous n'aurez probablement pas besoin de le faire souvent et devriez vous tromper du côté du code lisible.

Il faut aussi garder à l'esprit que si vous référencez une variable dans une fonction, sans lui affecter une valeur, cette variable est implicitement globale. Pour avoir une variable locale, vous devez lui attribuer une valeur dans le corps de la fonction.

Lorsque vous travaillez avec des variables, il est important de décider s'il est plus approprié d'utiliser une variable globale ou locale. En règle générale, il est préférable de conserver les variables locales, mais lorsque vous utilisez la même variable dans plusieurs fonctions, vous souhaiterez peut-être initialiser une variable globale. Si vous travaillez avec la variable uniquement dans une fonction ou unclass, vous souhaiterez probablement utiliser une variable locale à la place.

Conclusion

Ce didacticiel est passé en revue certains cas d’utilisation courants de variables dans Python 3. Les variables sont un élément important de la programmation, servant de symboles qui représentent la valeur d'undata type que vous utilisez dans un programme.