Python 3 - Types de variables

Les variables ne sont rien d'autre que des emplacements de mémoire réservés pour stocker des valeurs. Cela signifie que lorsque vous créez une variable, vous réservez de l'espace dans la mémoire.

En fonction du type de données d'une variable, l'interpréteur alloue de la mémoire et décide de ce qui peut être stocké dans la mémoire réservée. Par conséquent, en attribuant différents types de données aux variables, vous pouvez stocker des entiers, des décimales ou des caractères dans ces variables.

Attribution de valeurs à des variables

Les variables Python n'ont pas besoin de déclaration explicite pour réserver de l'espace mémoire. La déclaration se produit automatiquement lorsque vous affectez une valeur à une variable. Le signe égal (=) est utilisé pour attribuer des valeurs aux variables.

L'opérande à gauche de l'opérateur = est le nom de la variable et l'opérande à droite de l'opérateur = est la valeur stockée dans la variable. Par exemple -

#!/usr/bin/python3

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print (counter)
print (miles)
print (name)

Ici, 100, 1000,0 et «John» sont les valeurs attribuées respectivement aux variables compteur, miles et nom. Cela produit le résultat suivant -

100
1000.0
John

Affectation multiple

Python vous permet d'attribuer une seule valeur à plusieurs variables simultanément.

Par exemple -

a = b = c = 1

Ici, un objet entier est créé avec la valeur 1 et les trois variables sont affectées au même emplacement mémoire. Vous pouvez également affecter plusieurs objets à plusieurs variables. Par exemple -

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

Ici, deux objets entiers avec les valeurs 1 et 2 sont affectés aux variables a et b respectivement, et un objet chaîne avec la valeur «john» est affecté à la variable c.

Types de données standard

Les données stockées en mémoire peuvent être de plusieurs types. Par exemple, l'âge d'une personne est stocké sous forme de valeur numérique et son adresse est stockée sous forme de caractères alphanumériques. Python a différents types de données standard qui sont utilisés pour définir les opérations possibles sur eux et la méthode de stockage pour chacun d'eux.

Python a cinq types de données standard -

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Numéros Python

Les types de données numériques stockent des valeurs numériques. Les objets numériques sont créés lorsque vous leur attribuez une valeur. Par exemple -

var1 = 1
var2 = 10

Vous pouvez également supprimer la référence à un objet numérique en utilisant le deldéclaration. La syntaxe dudel la déclaration est -

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

Vous pouvez supprimer un seul objet ou plusieurs objets en utilisant le del déclaration.

Par exemple -

del var
del var_a, var_b

Python prend en charge trois types numériques différents -

  • int (entiers signés)
  • float (valeurs réelles en virgule flottante)
  • complexe (nombres complexes)

Tous les entiers dans Python3 sont représentés sous forme d'entiers longs. Par conséquent, il n'y a pas de type de nombre séparé aussi longtemps.

Exemples

Voici quelques exemples de nombres -

int flotte complexe
dix 0,0 3.14j
100 15,20 45.j
-786 -21,9 9.322e-36j
080 32,3 + e18 .876j
-0490 -90. -.6545 + 0J
-0x260 -32,54e100 3e + 26J
0x69 70.2-E12 4.53e-7j

Un nombre complexe consiste en une paire ordonnée de nombres réels à virgule flottante désignés par x + yj, où x et y sont des nombres réels et j est l'unité imaginaire.

Chaînes Python

Les chaînes en Python sont identifiées comme un ensemble contigu de caractères représenté entre guillemets. Python autorise une paire de guillemets simples ou doubles. Les sous-ensembles de chaînes peuvent être pris en utilisant l'opérateur de tranche ([] et [:]) avec des index commençant à 0 au début de la chaîne et allant de -1 à la fin.

Le signe plus (+) est l'opérateur de concaténation de chaîne et l'astérisque (*) est l'opérateur de répétition. Par exemple -

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

Cela produira le résultat suivant -

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

Listes Python

Les listes sont les types de données composés les plus polyvalents de Python. Une liste contient des éléments séparés par des virgules et placés entre crochets ([]). Dans une certaine mesure, les listes sont similaires aux tableaux en C. L'une des différences entre elles est que tous les éléments appartenant à une liste peuvent être de types de données différents.

Les valeurs stockées dans une liste sont accessibles à l'aide de l'opérateur de tranche ([] et [:]) avec des index commençant à 0 au début de la liste et allant jusqu'à la fin -1. Le signe plus (+) est l'opérateur de concaténation de liste et l'astérisque (*) est l'opérateur de répétition. Par exemple -

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

Cela produit le résultat suivant -

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Tuples Python

Un tuple est un autre type de données de séquence similaire à la liste. Un tuple se compose d'un certain nombre de valeurs séparées par des virgules. Contrairement aux listes, cependant, les tuples sont entre parenthèses.

La principale différence entre les listes et les tuples est: - Les listes sont entre crochets ([]) et leurs éléments et leur taille peuvent être modifiés, tandis que les tuples sont entre parenthèses (()) et ne peuvent pas être mis à jour. Les tuples peuvent être considérés commeread-onlylistes. Par exemple -

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

Cela produit le résultat suivant -

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

Le code suivant n'est pas valide avec tuple, car nous avons tenté de mettre à jour un tuple, ce qui n'est pas autorisé. Un cas similaire est possible avec des listes -

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

Dictionnaire Python

Les dictionnaires de Python sont en quelque sorte de type table de hachage. Ils fonctionnent comme des tableaux associatifs ou des hachages trouvés en Perl et se composent de paires clé-valeur. Une clé de dictionnaire peut être presque n'importe quel type Python, mais il s'agit généralement de nombres ou de chaînes. Les valeurs, en revanche, peuvent être n'importe quel objet Python arbitraire.

Les dictionnaires sont entourés d'accolades ({}) et les valeurs peuvent être attribuées et accessibles à l'aide d'accolades ([]). Par exemple -

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

Cela produit le résultat suivant -

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

Les dictionnaires n'ont aucune notion d'ordre parmi les éléments. Il est incorrect de dire que les éléments sont "hors service"; ils ne sont tout simplement pas ordonnés.

Conversion de type de données

Parfois, vous devrez peut-être effectuer des conversions entre les types intégrés. Pour convertir entre les types, vous utilisez simplement les noms de type comme une fonction.

Il existe plusieurs fonctions intégrées pour effectuer la conversion d'un type de données à un autre. Ces fonctions renvoient un nouvel objet représentant la valeur convertie.

N ° Sr. Description de la fonction
1

int(x [,base])

Convertit x en entier. La base spécifie la base si x est une chaîne.

2

float(x)

Convertit x en nombre à virgule flottante.

3

complex(real [,imag])

Crée un nombre complexe.

4

str(x)

Convertit l'objet x en une représentation sous forme de chaîne.

5

repr(x)

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

6

eval(str)

Évalue une chaîne et renvoie un objet.

sept

tuple(s)

Convertit s en tuple.

8

list(s)

Convertit les s en liste.

9

set(s)

Convertit s en un ensemble.

dix

dict(d)

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

11

frozenset(s)

Convertit les s en un ensemble figé.

12

chr(x)

Convertit un entier en caractère.

13

unichr(x)

Convertit un entier en caractère Unicode.

14

ord(x)

Convertit un seul caractère en sa valeur entière.

15

hex(x)

Convertit un entier en chaîne hexadécimale.

16

oct(x)

Convertit un entier en chaîne octale.