Python 3 - Tipi di variabili
Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Significa che quando crei una variabile, riservi un po 'di spazio in memoria.
In base al tipo di dati di una variabile, l'interprete alloca la memoria e decide cosa può essere memorizzato nella memoria riservata. Pertanto, assegnando diversi tipi di dati alle variabili, è possibile memorizzare numeri interi, decimali o caratteri in queste variabili.
Assegnazione di valori alle variabili
Le variabili Python non richiedono una dichiarazione esplicita per riservare spazio di memoria. La dichiarazione avviene automaticamente quando si assegna un valore a una variabile. Il segno di uguale (=) viene utilizzato per assegnare valori alle variabili.
L'operando a sinistra dell'operatore = è il nome della variabile e l'operando a destra dell'operatore = è il valore memorizzato nella variabile. Ad esempio:
#!/usr/bin/python3
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = "John" # A string
print (counter)
print (miles)
print (name)
Qui, 100, 1000.0 e "John" sono i valori assegnati rispettivamente alle variabili counter, miles e name. Questo produce il seguente risultato:
100
1000.0
John
Assegnazione multipla
Python consente di assegnare un singolo valore a più variabili contemporaneamente.
Ad esempio:
a = b = c = 1
Qui, viene creato un oggetto intero con il valore 1 e tutte e tre le variabili vengono assegnate alla stessa posizione di memoria. È inoltre possibile assegnare più oggetti a più variabili. Ad esempio:
a, b, c = 1, 2, "john"
Qui, due oggetti interi con valori 1 e 2 vengono assegnati rispettivamente alle variabili aeb e un oggetto stringa con il valore "john" viene assegnato alla variabile c.
Tipi di dati standard
I dati archiviati in memoria possono essere di molti tipi. Ad esempio, l'età di una persona viene memorizzata come valore numerico e il suo indirizzo viene memorizzato come caratteri alfanumerici. Python ha vari tipi di dati standard che vengono utilizzati per definire le operazioni possibili su di essi e il metodo di archiviazione per ciascuno di essi.
Python ha cinque tipi di dati standard:
- Numbers
- String
- List
- Tuple
- Dictionary
Numeri Python
I tipi di dati numerici memorizzano valori numerici. Gli oggetti numerici vengono creati quando si assegna loro un valore. Ad esempio:
var1 = 1
var2 = 10
È inoltre possibile eliminare il riferimento a un oggetto numero utilizzando il deldichiarazione. La sintassi didel l'affermazione è -
del var1[,var2[,var3[....,varN]]]]
È possibile eliminare un singolo oggetto o più oggetti utilizzando il file del dichiarazione.
Ad esempio:
del var
del var_a, var_b
Python supporta tre diversi tipi numerici:
- int (numeri interi con segno)
- float (valori reali in virgola mobile)
- complesso (numeri complessi)
Tutti gli interi in Python3 sono rappresentati come interi lunghi. Quindi, non esiste un tipo di numero separato finché.
Esempi
Ecco alcuni esempi di numeri:
int | galleggiante | complesso |
---|---|---|
10 | 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 numero complesso è costituito da una coppia ordinata di numeri reali in virgola mobile indicati con x + yj, dove xey sono numeri reali e j è l'unità immaginaria.
Stringhe Python
Le stringhe in Python sono identificate come un insieme contiguo di caratteri rappresentato tra virgolette. Python consente coppie di virgolette singole o doppie. I sottoinsiemi di stringhe possono essere presi usando l'operatore slice ([] e [:]) con indici che iniziano da 0 all'inizio della stringa e procedono da -1 alla fine.
Il segno più (+) è l'operatore di concatenazione di stringhe e l'asterisco (*) è l'operatore di ripetizione. Ad esempio:
#!/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
Questo produrrà il seguente risultato:
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
Elenchi Python
Gli elenchi sono i più versatili dei tipi di dati composti di Python. Un elenco contiene elementi separati da virgole e racchiusi tra parentesi quadre ([]). In una certa misura, gli elenchi sono simili agli array in C. Una delle differenze tra loro è che tutti gli elementi che appartengono a un elenco possono essere di diverso tipo di dati.
È possibile accedere ai valori memorizzati in un elenco utilizzando l'operatore slice ([] e [:]) con indici che iniziano da 0 all'inizio dell'elenco e procedono fino alla fine -1. Il segno più (+) è l'operatore di concatenazione dell'elenco e l'asterisco (*) è l'operatore di ripetizione. Ad esempio:
#!/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
Questo produce il seguente risultato:
['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']
Tuple Python
Una tupla è un altro tipo di dati di sequenza simile all'elenco. Una tupla è composta da un numero di valori separati da virgole. A differenza degli elenchi, tuttavia, le tuple sono racchiuse tra parentesi.
La principale differenza tra liste e tuple è: le liste sono racchiuse tra parentesi ([]) e i loro elementi e la loro dimensione possono essere cambiate, mentre le tuple sono racchiuse tra parentesi (()) e non possono essere aggiornate. Le tuple possono essere pensate comeread-onlyelenchi. Ad esempio:
#!/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
Questo produce il seguente risultato:
('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')
Il codice seguente non è valido con la tupla, perché si è tentato di aggiornare una tupla, operazione non consentita. Caso simile è possibile con gli elenchi -
#!/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
Dizionario Python
I dizionari di Python sono una specie di tabella hash. Funzionano come array associativi o hash trovati in Perl e sono costituiti da coppie chiave-valore. Una chiave del dizionario può essere quasi qualsiasi tipo Python, ma di solito sono numeri o stringhe. I valori, d'altra parte, possono essere qualsiasi oggetto Python arbitrario.
I dizionari sono racchiusi tra parentesi graffe ({}) e i valori possono essere assegnati e accessibili utilizzando le parentesi quadre ([]). Ad esempio:
#!/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
Questo produce il seguente risultato:
This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])
I dizionari non hanno il concetto di ordine tra gli elementi. Non è corretto affermare che gli elementi sono "fuori servizio"; sono semplicemente non ordinati.
Conversione del tipo di dati
A volte, potrebbe essere necessario eseguire conversioni tra i tipi incorporati. Per convertire tra i tipi, usa semplicemente i nomi dei tipi come una funzione.
Esistono diverse funzioni integrate per eseguire la conversione da un tipo di dati a un altro. Queste funzioni restituiscono un nuovo oggetto che rappresenta il valore convertito.
Sr.No. | Descrizione della funzione |
---|---|
1 | int(x [,base]) Converte x in un numero intero. La base specifica la base se x è una stringa. |
2 | float(x) Converte x in un numero in virgola mobile. |
3 | complex(real [,imag]) Crea un numero complesso. |
4 | str(x) Converte l'oggetto x in una rappresentazione di stringa. |
5 | repr(x) Converte l'oggetto x in una stringa di espressione. |
6 | eval(str) Valuta una stringa e restituisce un oggetto. |
7 | tuple(s) Converte s in una tupla. |
8 | list(s) Converte s in un elenco. |
9 | set(s) Converte s in un set. |
10 | dict(d) Crea un dizionario. d deve essere una sequenza di tuple (chiave, valore). |
11 | frozenset(s) Converte i messaggi di posta elettronica in un set congelato. |
12 | chr(x) Converte un numero intero in un carattere. |
13 | unichr(x) Converte un numero intero in un carattere Unicode. |
14 | ord(x) Converte un singolo carattere nel suo valore intero. |
15 | hex(x) Converte un numero intero in una stringa esadecimale. |
16 | oct(x) Converte un numero intero in una stringa ottale. |