English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base Python

Controllo dei flussi Python

Funzione in Python

Tipi di dati in Python

Operazioni di file Python

Oggetti e classi Python

Data e ora Python

Conoscenze avanzate Python

Manuale di riferimento Python

Tipi di dati in Python

In questo tutorial, imparerai i diversi tipi di dati che possono essere utilizzati in Python.

Tipi di dati in Python

Ogni valore ha un tipo di dati in Python. Poiché tutto è un oggetto nel programming Python, il tipo di dati è in realtà una classe e le variabili sono esempi (oggetti) di queste classi.

Ci sono molti tipi di dati in Python. Di seguito è riportato un elenco di alcuni tipi importanti.

Numero (Number) in Python

Gli interi, i numeri a virgola mobile e i numeri complessi appartengono alla categoria dei numeri in Python. In Python, sono definiti come classi int, float e complex.

Possiamo usare la funzione type() per determinare a quale classe appartiene una variabile o valore. Allo stesso modo, la funzione isinstance() viene utilizzata per verificare se un oggetto appartiene a una classe specifica.

a = 5
print(a, "il tipo è ", type(a))
a = 2.0
print(a, "il tipo è ", type(a))
a = 1+2j
print(a, "è un numero complesso?", isinstance(1+2j, complex))

Output

Il tipo di 5 è <class 'int'>
Il tipo di 2.0 è <class 'float'>
(1+2j) è un numero complesso? True

Gli interi possono avere lunghezze arbitrarie, ma sono limitati dalla memoria disponibile.

I numeri a virgola mobile possono essere precisi fino a 15 cifre decimali. Gli interi e i numeri a virgola mobile sono separati da un punto. 1 è un intero, 1.0 è un numero a virgola mobile.

I numeri complessi sono scritti sotto forma di x + yj, dovexÈ la parte reale,yÈ l'parte immaginaria. Ecco alcuni esempi.

>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)

Attenzione, la variabile floatbÈ stato troncato.

Elenco Python (List)

ListaÈ una sequenza ordinata di elementi. È uno dei tipi di dati più utilizzati in Python e molto flessibile. Gli elementi della lista possono essere di tipi diversi.

L'elenco delle dichiarazioni è molto semplice. Gli elementi separati da virgola sono messi tra parentesi quadre [ ].

a = [1, 2.2, 'python']

Possiamo utilizzare l'operatore di slice [ ] per estrarre un elemento o una serie di elementi dalla lista. Nota che negli indici Python si parte da 0.

a = [5, 10, 15, 20, 25, 30, 35, 40]
# a[2] = 15
print("a[2] = ", a[2])
# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])
# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])

Output

a[2] = 15
a[0:3] = [5, 10, 15]
a[5:] = [30, 35, 40]

Le liste sono mutabili, il che significa che i valori degli elementi della lista possono essere modificati.

a = [1, 2, 3]
a[2] = 4
print(a)

Output

[1, 2, 4]

tuple Python

tuple(Tuple) è una sequenza ordinata di elementi, come una lista (List). L'unica differenza è che i tuple sonoimmutabileuna volta creato, un tuple non può essere modificato.

Gli tuple sono usati per proteggere i dati, di solito sono più veloci delle liste perché non possono essere modificati dinamicamente.

È definito tra parentesi graffe () dove gli elementi sono separati da virgole.

t = (5, 'program', 1+3j)

Possiamo utilizzare l'operatore di slice [] per estrarre elementi, ma non possiamo cambiarne il valore.

t = (5, 'program', 1+3j)
# t[1] = 'program'
print("t[1] = ", t[1])
# t[0:3] = (5, 'program', (1+3j))
print("t[0:3] = ", t[0:3])
#Genera errore
# Gli tuple sono immutabili
t[0] = 10

Output

t[1] = program
t[0:3] = (5, 'program', (1+3j))
Traceback (chiamata più recente in basso):
  File "test.py", riga 11, in <module>
    t[0] = 10
TypeError: 'tuple' oggetto non supporta l'assegnamento degli elementi

stringa Python

stringaè una sequenza di caratteri Unicode. Possiamo utilizzare virgolette singole o doppie per rappresentare stringhe. Possiamo utilizzare virgolette triple ''' o """ per rappresentare stringhe multiligne.

s = "This is a string"
print(s)
s = '''A multiline
string'''
print(s)

Output

This is a string
A multiline
string

就像列表和元组一样,切片运算符 [ ] 可以与字符串一起使用。但是,字符串是不可变的。

s = 'Hello world!'
# s[4] = 'o'
print("s[4] = ", s[4])
# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])
# 发生错误
# 字符串在Python中是不可变的
s[5] = 'd'

Output

s[4] = 'o'
s[6:11] = 'world'
Traceback (chiamata più recente in basso):
  File '<string>', line 11, in <module>
TypeError: 'str' object does not support item assignment

Python 集合(Set)

Set 是唯一项的无序集合。Set 由用大括号 { } 括起来,并由逗号分隔的值的集合。集合中的项目是无序的。

a = {5,2,3,1,4}
# 输出set集变量
print("a = ", a)
# 输出a的数据类型
print(type(a))

Output

a = {1, 2, 3, 4, 5}
<class 'set'>

我们可以在两个集合上执行集合操作,例如 并集,交集。集具有唯一值。他们消除重复。

a = {1,2,2,3,3,3}
print(a)

Output

{1, 2, 3}

由于 set 是无序集合,因此索引没有意义。因此,切片运算符 [] 不起作用。

>>> a = {1,2,3}
>>> a[1]
Traceback (chiamata più recente in basso):
  File '<string>', riga 301, in runcode
  File '<interactive input>', riga 1, in <module>
TypeError: 'set' object does not support indexing

Python字典

字典是 键值对 的无序集合。

当我们拥有大量数据时,通常使用它。字典针对检索数据进行了优化。我们必须知道检索值的密钥。

在Python中,大括号 {} 内定义了字典,每一项都是形式为 key:value 。键 和 值 可以是任何类型。

>>> d = {1:'value', 'key':2}
>>> type(d)
<class 'dict'>

我们可以使用键来检索相应的值。

d = {1:'value', 'key':2}
print(type(d))
print("d[1] = ", d[1]);
print("d['key'] = ", d['key']);
#Genera errore
print("d[2] = ", d[2]);

Output

<class 'dict'>
d[1] = value
d['key'] = 2
Traceback (chiamata più recente in basso):
  File '<string>', riga 9, in <module>
KeyError: 2

Conversione di tipo di dati

Possiamo convertire tra diversi tipi di dati utilizzando funzioni di conversione diverse, come int(), float(), str() e altri.

>>> float(5)
5.0

La conversione da float a int tronca il valore (portandolo vicino a zero).

>>> int(10.6)
10
>>> int(-10.6)
-10

La conversione tra stringhe deve includere valori compatibili.

>>> float('2.5')
2.5
>>> str(25)
'25'
>>> int('1p')
Traceback (chiamata più recente in basso):
  File '<string>', riga 301, in runcode
  File '<interactive input>', riga 1, in <module>
ValueError: letterale non valido per int() con base 10: '1p'

Possiamo anche convertire una sequenza in un'altra sequenza.

>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

Per convertire in dizionario, ogni elemento deve essere in coppia:

>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}