Python Types de variables

Les variables sont des valeurs stockées en mémoire, ce qui signifie que lorsqu'une variable est créée, un espace est alloué en mémoire.

En fonction du type de données de la variable, l'interpréteur alloue une mémoire spécifiée et décide quelles données peuvent être stockées dans cette mémoire.

Par conséquent, les variables peuvent avoir différents types de données, et ces variables peuvent stocker des entiers, des nombres décimaux ou des caractères.



Affectation de variable

L'affectation de variable en Python ne nécessite pas de déclaration de type.

Chaque variable créée en mémoire inclut des informations telles que l'identifiant, le nom et les données de la variable.

Chaque variable doit recevoir une valeur avant d'être utilisée ; la variable n'est créée qu'après l'affectation.

Le signe égal=est utilisé pour affecter une valeur à une variable.

Le signe égal=Le côté gauche de l'opérateur est un nom de variable, et le signe égal=Le côté droit de l'opérateur est la valeur stockée dans la variable. Par exemple :

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # Affecter une variable entière miles = 1000.0 # Flottant name = "John" # Chaîne print counter print miles print name

Exécuter l'exemple »

Dans l'exemple ci-dessus, 100, 1000.0 et "John" sont affectés aux variables counter, miles et name, respectivement.

L'exécution du programme ci-dessus produira le résultat suivant :

100
1000.0
John


Affectation multiple de variables

Python permet d'affecter des valeurs à plusieurs variables en même temps. Par exemple :

a = b = c = 1

Dans l'exemple ci-dessus, un objet entier avec une valeur de 1 est créé, et trois variables sont affectées au même espace mémoire.

Vous pouvez également affecter plusieurs variables à plusieurs objets. Par exemple :

a, b, c = 1, 2, "john"

Dans l'exemple ci-dessus, deux objets entiers 1 et 2 sont affectés aux variables a et b, respectivement, et l'objet chaîne "john" est affecté à la variable c.



Types de données standard

Les données stockées en mémoire peuvent être de nombreux types.

Par exemple, l'âge d'une personne peut être stocké sous forme de nombre, et son nom peut être stocké sous forme de caractères.

Python définit plusieurs types standard pour stocker divers types de données.

Python possède cinq types de données standard :

  • Nombres
  • String
  • Liste
  • Tuple
  • Dictionnaire


Nombres en Python

Le type de données number est utilisé pour stocker des valeurs numériques.

Ils sont d'un type de données immuable, ce qui signifie que modifier un type de données number allouera un nouvel objet.

Lorsque vous spécifiez une valeur, un objet Number est créé :

var1 = 1
var2 = 10

Vous pouvez également utiliser l'instruction del pour supprimer des références à certains objets.

La syntaxe de l'instruction del est :

del var1[,var2[,var3[....,varN]]]

Vous pouvez supprimer des références à un seul objet ou à plusieurs objets en utilisant l'instruction del. Par exemple :

del var
del var_a, var_b

Python prend en charge quatre types de nombres différents :

  • int (entier signé)
  • long (entier long, qui peut également représenter l'octal et l'hexadécimal)
  • float (virgule flottante)
  • complex (nombre complexe)
Exemple

Quelques exemples de types numériques :

intlongfloatcomplexe
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3e+18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2E-124.53e-7j
  • Les entiers longs peuvent aussi utiliser un l minuscule, mais il est toujours recommandé d'utiliser un L majuscule pour éviter toute confusion avec le chiffre 1. Python utilise L pour afficher les entiers longs.
  • Python prend également en charge les nombres complexes, qui se composent d'une partie réelle et d'une partie imaginaire. Ils peuvent être représentés sous la forme a + bj ou complex(a,b). La partie réelle a et la partie imaginaire b d'un nombre complexe sont toutes deux de type à virgule flottante.

Remarque :Le type long n'existe que dans les versions Python 2.X. Dans les versions après 2.2, les données int sont automatiquement converties en long lorsqu'elles débordent. Dans les versions Python 3.X, le type long a été supprimé et remplacé par int.



Chaînes de caractères en Python

Une chaîne (String) est une séquence de caractères composée de chiffres, de lettres et de traits de soulignement.

Généralement écrit comme :

s = "a1a2···an"   # n>=0

C'est un type de données utilisé pour représenter du texte dans les langages de programmation.

La liste de chaînes de Python possède deux ordres d'indexation :

  • L'indexation de gauche à droite commence à 0 par défaut, et la plage maximale est la longueur de la chaîne moins 1.
  • L'indexation de droite à gauche commence à -1 par défaut, et la plage maximale est le début de la chaîne.

Si vous souhaitez extraire une sous-chaîne d'une chaîne, vous pouvez utiliser[head index:tail index]pour découper la chaîne correspondante, où l'index commence à 0 et peut être positif ou négatif. Un index vide signifie qu'il atteint le début ou la fin.

[head index:tail index]La sous-chaîne extraite comprend le caractère à l'indice de début mais ne comprend pas le caractère à l'indice de fin.

Par exemple :

>>> s = 'abcdef'
>>> s[1:5]
'bcde'

Lorsqu'on utilise une chaîne séparée par des deux-points, Python renvoie un nouvel objet. Le résultat contient une plage continue identifiée par cette paire de décalages ; le début à gauche inclut la limite inférieure.

Le résultat ci-dessus incluts[1]la valeur b, et la plage maximale obtenue n'inclut pasl'index de queue, c'est-à-dires[5]la valeur f.

Le signe plus (+) est l'opérateur de concaténation de chaînes, et l'astérisque (*) est l'opération de répétition. Voir l'exemple ci-dessous :

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- str = 'Hello World!' print str # Afficher la chaîne complète print str[0] # Afficher le premier caractère de la chaîne print str[2:5] # Afficher la chaîne du troisième au sixième caractère print str[2:] # Afficher la chaîne à partir du troisième caractère print str * 2 # Afficher la chaîne deux fois print str + "TEST" # Afficher la chaîne concaténée

L'exemple ci-dessus produit la sortie suivante :

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST


Listes Python

La liste est le type de données le plus fréquemment utilisé en Python.

Une liste peut implémenter la plupart des structures de données de type collection. Elle prend en charge les caractères, les nombres, les chaînes de caractères, et peut même contenir des listes (c'est-à-dire, l'imbrication).

Une liste est indiquée par[ ], et c'est le type de données composite le plus polyvalent de Python.

Le découpage des valeurs dans une liste peut également utiliser la variable[head index:tail index]pour découper la liste correspondante. L'indexation de gauche à droite commence à 0 par défaut, et de droite à gauche commence à -1 par défaut. Un index vide signifie que l'on atteint le début ou la fin.

Le signe plus+est l'opérateur de concaténation de liste, et l'astérisque*est l'opération de répétition. Voir l'exemple ci-dessous :

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- list = [ 'example', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # Afficher la liste complète print list[0] # Afficher le premier élément de la liste print list[1:3] # Afficher les éléments du deuxième au troisième print list[2:] # Afficher tous les éléments du troisième à la fin de la liste print tinylist * 2 # Afficher la liste deux fois print list + tinylist # Afficher la liste combinée

L'exemple ci-dessus produit la sortie suivante :

['example', 786, 2.23, 'john', 70.2]
example
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['example', 786, 2.23, 'john', 70.2, 123, 'john']

Le découpage de liste en Python peut accepter un troisième paramètre, qui agit comme le pas de découpage. L'exemple suivant découpe une chaîne de l'index 1 à l'index 4 avec un pas de 2 (en sautant une position) :



Tuples en Python

Les tuples sont un autre type de données, similaire à la liste.

Les tuples sont marqués par(). Les éléments internes sont séparés par des virgules. Cependant, un tuple ne peut pas être réaffecté ; il est équivalent à une liste en lecture seule.

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'example', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # Afficher le tuple complet print tuple[0] # Afficher le premier élément du tuple print tuple[1:3] # Afficher les éléments du deuxième au quatrième (exclu) print tuple[2:] # Afficher tous les éléments du troisième à la fin de la liste print tinytuple * 2 # Afficher le tuple deux fois print tuple + tinytuple # Afficher le tuple combiné

L'exemple ci-dessus produit la sortie suivante :

('example', 786, 2.23, 'john', 70.2)
example
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('example', 786, 2.23, 'john', 70.2, 123, 'john')

Les opérations suivantes sur les tuples sont invalides car les tuples n'autorisent pas les mises à jour, alors que les listes les autorisent :

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'example', 786 , 2.23, 'john', 70.2 ) list = [ 'example', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # Opération illégale dans un tuple list[2] = 1000 # Opération légale dans une liste

Les tuples n'autorisent pas les mises à jour, donc le code ci-dessus provoquera une erreur. Le résultat est le suivant :

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    tuple[2] = 1000    # 元组中是非法应用
TypeError: 'tuple' object does not support item assignment


Dictionnaire Python

Le dictionnaire est le type de structure de données intégré le plus flexible en Python hormis les listes. Les listes sont des collections ordonnées d'objets, tandis que les dictionnaires sont des collections non ordonnées d'objets.

La différence entre les deux est que les éléments d'un dictionnaire sont accessibles par clé, et non par décalage.

Les dictionnaires sont reconnaissables à "{ }". Un dictionnaire se compose d'indices (clés) et de leurs valeurs correspondantes.

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'example','code':6734, 'dept': 'sales'} print dict['one'] # Afficher la valeur de la clé 'one' print dict[2] # Afficher la valeur pour la clé 2 print tinydict # Afficher le dictionnaire complet print tinydict.keys() # Afficher toutes les clés print tinydict.values() # Afficher toutes les valeurs

Le résultat de sortie est:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'example'}
['dept', 'code', 'name']
['sales', 6734, 'example']


Conversion des types de données Python

Parfois, nous devons convertir des types de données intégrés. Pour convertir des types de données, il vous suffit d'utiliser le type de données comme nom de fonction.

Les fonctions intégrées suivantes peuvent effectuer des conversions entre types de données. Ces fonctions renvoient un nouvel objet représentant la valeur convertie.

FonctionDescription

int(x [,base])

Convertit x en un entier.

long(x [,base] )

Convertit x en un entier long.

float(x)

Convertit x en un nombre à virgule flottante.

complex(real [,imag])

Crée un nombre complexe.

str(x)

Convertit l'objet x en une chaîne de caractères.

repr(x)

Convertit l'objet x en une chaîne d'expression.

eval(str)

Utilisé pour évaluer une expression Python valide dans une chaîne et renvoyer un objet.

tuple(s)

Convertit la séquence s en un tuple.

list(s)

Convertir la séquence s en une liste.

set(s)

Convertir en un ensemble mutable.

dict(d)

Créer un dictionnaire. d doit être une séquence de tuples (clé, valeur).

frozenset(s)

Convertir en un ensemble immuable.

chr(x)

Convertir un entier en caractère.

unichr(x)

Convertir un entier en caractère Unicode.

ord(x)

Convertir un caractère en sa valeur entière.

hex(x)

Convertir un entier en une chaîne hexadécimale.

oct(x)

Convertir un entier en une chaîne octale.

Autres extensions