Variabili
Nomenclatura |
snake_case che inizia per _ o lettera |
Assegnazione singola |
nome_variabile = valore
|
Assegnazione multipla |
var1, var2, var3 = val1, val2, val3
var1 = var2 = var3 = valore
|
Sintassi di base
Commento
|
Stampare a schermo
|
Indentazione Le righe aventi stessa indentazione appartengono allo stesso blocco di codice.
|
Tipi di dati
Numerici |
int, float, complex, bool |
Stringhe |
str (immutabile) |
Sequenze |
list (ordinata, mutabile, permette duplicati) tuple (ordinata, immutabile, permette duplicati) range |
|
Insiemi |
set (non ordinato, mutabile, non permette duplicati) frozenset (non ordinato, immutabile, non permette duplicati) |
|
Dizionari |
dict (chiave-valore) |
Binari |
bytes, bytearray, memoryview |
Valore di verità
True Un oggetto è considerato vero a meno che la sua classe non definisca un metodo __bool__() che restituisce False o un metodo __len__() che restituisce zero. |
False > Costanti None e False > Zero di qualsiasi tipo numerico (0, 0.0 ecc.) > Sequenze o collezioni vuote ("", (), [] ecc.) |
Operatori di confronto
< |
Strettamente minore |
|
<= |
Minore o uguale |
|
> |
Strettamente maggiore |
|
>= |
Maggiore o uguale |
|
== |
Uguale |
|
!= |
Diverso |
|
is |
Identità dell'oggetto |
a = [1,2] b = a print(a is b) # True
|
is not |
Identità dell'oggetto negata |
a = [1,2] b = a print(a is not b) # False
|
Possono essere concatenati arbitrariamente: X < Y <= Z equivale a X < Y AND Y <= Z
Operatori numerici
x + y |
Addizione |
|
x - y |
Sottrazione |
|
x * y |
Prodotto |
|
x / y |
Divisione |
|
x // y |
Divisione arrotondata per difetto |
|
x % y |
Modulo (ritorna il resto della divisione) |
|
-x |
Negazione |
|
abs(x) |
Valore assoluto |
|
int(x) |
Conversione in int |
int("12") = 12 int(7.2) = 7
|
float(x) |
Conversione in float |
|
complex(re, im) |
Conversione in numero complesso |
|
divmod(x, y) |
Ritorna una tupla contenente quoziente intero e modulo dei parametri |
|
pow(x, y) x ** y |
Potenza |
|
Quando gli operandi sono di tipi numerici differenti, il tipo più piccolo viene convertito in quello più grande (int < float < complex).
Operatori booleani
x or y |
True se almeno uno tra x e y è True, altrimenti False. |
Non valuta il secondo argomento se il primo è True. |
x and y |
True se entrambi x e y sono True, altrimenti False. |
Non valuta il secondo argomento se il primo è False. |
not x |
True se x è False, altrimenti False. |
Ha priorità inferiore rispetto agli operatori non booleani * |
* not a == b -> not (a == b)
Tipi Numerici
int |
Numeri interi a precisione illimitata. Costruttore -> int() |
float |
Numeri in virgola mobile, si utilizza il punto tra parte intera e parte decimale. Costruttore -> float() |
complex |
Numeri complessi, composti da una parte reale (n.real) ed una parte immaginaria (n.imag). Costruttore -> complex() |
bool |
Valori di verità (True e False). |
Stringhe
Assegnazione |
stringa = "Hello" stringa = 'Hello'
|
Stringa multiriga |
|
Accedere ai caratteri |
|
# primo carattere # ultimo carattere
|
Lunghezza |
|
|
Sottostringa |
stringa[:n] stringa[n:] stringa[n:m]
|
# da inizio a _n # da °n a fine # da °n a _m
|
Concatenazione |
|
|
Ripetizione |
|
|
Formattazione |
|
|
Caratteri di escape |
|
|
°x -> incluso / _x -> escluso
Metodi delle stringhe
capitalize() |
"heLLo".capitalize()
|
|
casefold() |
|
|
center() |
"Hello".center(7,"-")
|
|
count() |
|
|
endswith() |
"Hello".endswith("lo") "Hello".endswith("ab")
|
|
expandtabs() |
"1\t2".expandtabs(1)
|
|
find() |
|
|
format() |
"Hel{}".format("lo")
|
|
format_map() |
come format() |
Accetta dizionari come parametri |
index() |
come find() |
ValueError se non trova la sottostringa |
isalnum() |
"ABC123".isalnum() "ab!12_".isalnum()
|
|
isalpha() |
"Abc".isalpha() "123".isalpha()
|
|
isascii() |
"Abc123".isascii() "Ab23".isascii()
|
|
isidentifier() |
"hello".isidentifier() "123ab".isidentifier()
|
|
islower() |
"hello1".islower() "Hello1".islower()
|
|
isprintable() |
"Abc1!".isprintable(){nl}}"A\t1!".isprintable()
|
|
isspace() |
"\t\n ".isspace() "a b".isspace()
|
|
join() |
|
|
ljust() |
|
|
lower() |
|
|
lstrip() |
"-Hello-".lstrip("-")
|
|
maketrans() translate() |
map1 = str.maketrans({"a":1,"b":2})}) map2 = str.maketrans("ab","12") map3 = str.maketrans("ab","12","c") "abc".translate(map1) "abc".translate(map2) "abc".translate(map3)
|
|
partition() |
|
|
replace() |
"abc".replace("b","0")
|
|
rfind() |
|
|
rindex() |
come rfind() |
ValueError se non trova la sottostringa |
rjust() |
|
|
rpartition() |
"a-b-c".rpartition()
|
|
rsplit() |
"a-b-c".rsplit("-",1)
|
|
rstrip() |
"-Hello-".rstrip("-")
|
|
split() |
"a-b-c".split("-",1)
|
|
splitlines() |
|
|
startswith() |
"abc".startswith("a") "abc".startswith("c")
|
|
strip() |
"-Hello-".strip("-")
|
|
swapcase() |
|
|
title() |
|
|
upper() |
|
|
zfill() |
"1".zfill(3) "-1".zfill(3)
|
|
isdigit() isnumeric() isdecimal() |
# Numeri standard "123" isdigit() isnumeric() isdecimal()
# Esponenti "123" isdigit() isnumeric() isdecimal()
# Ideogrammi numerici isdigit() isnumeric() isdecimal()
# Numeri decimali "12.34" isdigit() isnumeric() isdecimal()
# Numeri negativi "-123" isdigit() isnumeric() isdecimal()
# Stringa vuota "" isdigit() isnumeric() isdecimal()
|
# True # True # True
# True # True # False
# False # True # False
# False # False # False
# False # False # False
# False # False # False
|
* più aggressivo rispetto a lower()
Liste
Assegnazione |
lista = ["a", 2, True, [1, 2], ...]
|
Accedere agli elementi |
|
# primo elemento # ultimo elemento
|
Lunghezza |
|
|
Concatenazione |
|
|
Ripetizione |
|
|
Sottolista |
lista[:n] lista[n:] lista[n:m]
|
# da inizio a _n # da °n a fine # da °n a _m
|
°x -> incluso / _x -> escluso
Metodi delle liste
append() |
|
|
clear() |
|
|
copy() |
l1 = [1, 2] l2 = l1.copy() l3 = l1
|
# l1 e l2 sono due liste distinte # l1 e l3 puntano alla stessa lista
|
count() |
|
|
extend() |
[1, 2].extend(["a", "b"])
|
|
index() |
|
|
insert() |
|
|
pop() |
|
|
remove() |
|
|
reverse() |
|
|
sort() |
[2, 1, 3].sort() [2, 1, 3].sort(reverse=True)
|
|
Tuple
Assegnazione |
tupla = ("a", 2, True, ...) stringa = (1, )
|
|
Accedere agli elementi |
|
# primo elemento # ultimo elemento
|
Lunghezza |
|
|
Sottotupla |
tupla[:n] tupla[n:] tupla[n:m]
|
# da inizio a _n # da °n a fine # da °n a _m
|
Concatenazione |
|
|
Ripetizione |
|
|
°x -> incluso / _x -> escluso
Range
range(start, stop, step) |
start |
Opzionale |
Numero iniziale (compreso, default = 0) |
stop |
Obbligatorio |
Numero finale (escluso) |
step |
Opzionale |
Passo dell'incremento (default = 1) |
|