Fondamenti di Python
Questo articolo spiega i fondamenti di Python.
YouTube Video
Esecuzione di "Hello World!"
1print("Hello World!")
Variabili in Python
In Python, le variabili sono spazi di archiviazione denominati per contenere e usare dati e informazioni all'interno di un programma. Le variabili possono contenere vari tipi di dati e possono essere riassegnate secondo necessità. Di seguito forniamo alcuni esempi di codice per dimostrare l'uso base delle variabili in Python.
1# 1. Assigning values to variables
2# Integer type variable
3age = 25
4print("Age:", age) # Output: Age: 25
5
6# Floating-point type variable
7height = 175.5
8print("Height:", height, "cm") # Output: Height: 175.5 cm
9
10# String type variable
11name = "Taro"
12print("Name:", name) # Output: Name: Taro
13
14# Boolean type variable
15is_student = True
16print("Are you a student?", is_student) # Output: Are you a student? True
17
18# 2. Assigning values to multiple variables simultaneously
19# You can assign multiple variables at once
20x, y, z = 5, 10, 15
21print("x =", x, ", y =", y, ", z =", z) # Output: x = 5 , y = 10 , z = 15
22
23# 3. Updating the value of a variable
24# The value of a variable can be updated by reassignment
25age = 26
26print("Updated age:", age) # Output: Updated age: 26
27
28# 4. Updating multiple variables at once
29# Example of swapping values between variables
30a, b = 1, 2
31a, b = b, a
32print("a =", a, ", b =", b) # Output: a = 2 , b = 1
33
34# 5. Type conversion
35# Type conversion allows operations between different types
36count = "5" # String "5"
37count = int(count) # Convert to integer type
38print("Handling count as an integer:", count * 2) # Output: Handling count as an integer: 10
39
40# Conversion to floating-point number
41pi_approx = "3.14"
42pi_approx = float(pi_approx)
43print("Approximation of pi:", pi_approx) # Output: Approximation of pi: 3.14
Come mostrato, le variabili in Python possono essere usate in modo flessibile. Le variabili possono essere utilizzate senza specificare il loro tipo e possono essere riassegnate secondo necessità. Inoltre, la conversione di tipo rende facile passare tra diversi tipi di dati.
Tipi di dati in Python
Python dispone di diversi tipi di dati di base. Di seguito forniamo spiegazioni ed esempi di codice per ciascuno.
Tipo Integer
Il tipo integer viene utilizzato per gestire numeri interi senza punto decimale.
1# Example of integer type
2x = 10
3print(x) # Output: 10
4print(type(x)) # Output: <class 'int'>
Tipo Floating-Point
Il tipo floating-point viene utilizzato per gestire numeri con il punto decimale.
1# Floating Point Number Example
2y = 3.14
3print(y) # Output: 3.14
4print(type(y)) # Output: float
Tipo Stringa
Il tipo stringa rappresenta una sequenza di caratteri. Le stringhe possono essere racchiuse tra virgolette singole '
o virgolette doppie "
.
1# Example of String
2s = "Hello, World!"
3print(s) # Output: Hello, World!
4print(type(s)) # Output: <class 'str'>
Tipo Booleano
Il tipo booleano ha due valori: vero (True
) e falso (False
).
1# Example of Boolean
2b = True
3print(b) # Output: True
4print(type(b)) # Output: <class 'bool'>
Tipo Lista
Il tipo lista è una sequenza mutabile che può contenere più elementi, e questi elementi possono essere di diversi tipi di dati.
1# Example of List
2lst = [1, 2, 3, "four", 5.0]
3print(lst) # Output: [1, 2, 3, 'four', 5.0]
4print(type(lst)) # Output: <class 'list'>
Tipo Tupla
Una tupla è una sequenza che può contenere più elementi, e il suo contenuto non può essere modificato una volta creata.
1# Example of Tuple
2tup = (1, "two", 3.0)
3print(tup) # Output: (1, 'two', 3.0)
4print(type(tup)) # Output: <class 'tuple'>
Tipo Dizionario
Il tipo dizionario è una collezione che contiene coppie chiave-valore. Le chiavi devono essere uniche.
1# Example of Dictionary
2dct = {"one": 1, "two": 2, "three": 3}
3print(dct) # Output: {'one': 1, 'two': 2, 'three': 3}
4print(type(dct)) # Output: <class 'dict'>
Tipo Insieme
Il tipo insieme è una collezione che contiene elementi unici. I valori duplicati non possono essere inclusi.
1# Example of Set
2st = {1, 2, 2, 3}
3print(st) # Output: {1, 2, 3}
4print(type(st)) # Output: <class 'set'>
Questi tipi di dati sono fondamentali e comunemente utilizzati per la gestione dei dati in Python. Usandoli in modo appropriato, è possibile rispondere a diverse esigenze nei vostri programmi.
Panoramica di Python
Python è un linguaggio di programmazione di alto livello sviluppato da Guido van Rossum nel 1991. La sua filosofia progettuale enfatizza 'semplicità,' 'chiarezza' e 'leggibilità,' producendo un codice intuitivo, facile da scrivere e da leggere. Di seguito è riportata una panoramica delle principali caratteristiche di Python.
-
Leggibilità e Semplicità:
- Con una struttura chiara ed espressioni vicine al linguaggio naturale, è un linguaggio facile da apprendere per i principianti.
- I blocchi sono definiti tramite indentazione, il che formatta automaticamente il codice e ne aumenta la leggibilità.
-
Librerie e Framework Ricchi:
- Ha una ricca libreria standard, che consente di svolgere molti compiti con facilità.
- Esistono librerie e framework specializzati disponibili per vari settori, come calcolo numerico (NumPy), analisi dei dati (Pandas), apprendimento automatico (scikit-learn, TensorFlow) e sviluppo web (Django, Flask).
-
Versatilità:
- Python è adatto sia come linguaggio di scripting sia per lo sviluppo di applicazioni complete. Viene utilizzato in varie applicazioni come applicazioni web, applicazioni desktop, calcolo scientifico, apprendimento automatico, analisi dei dati e IoT.
-
Multipiattaforma:
- È indipendente dalla piattaforma e può essere eseguito su molti sistemi operativi, inclusi Windows, macOS e Linux.
-
Open Source e Comunità:
- Python è un progetto open source supportato da una comunità attiva. Grazie a questo, vengono forniti aggiornamenti frequenti, sviluppo di librerie e supporto.
-
Tipizzazione Dinamica e Gestione Automatica della Memoria:
- La tipizzazione dinamica elimina la necessità di dichiarare i tipi di variabili, consentendo uno sviluppo più rapido.
- La garbage collection effettua la gestione automatica della memoria, semplificando la gestione della memoria.
Grazie a queste caratteristiche, Python è ampiamente utilizzato in vari settori, tra cui istruzione, industria e accademia.
Caratteri di escape in Python
In Python, i caratteri di escape vengono utilizzati per includere specifici caratteri di controllo o caratteri con significato speciale all'interno delle stringhe. I caratteri di escape sono simboli speciali utilizzati per aggiungere significati specifici alle stringhe comuni. Esaminiamo più da vicino i caratteri di escape in Python.
Nozioni di base sui caratteri di escape
In Python, i caratteri di escape sono definiti utilizzando una barra rovesciata (\
). I caratteri di escape indicano un comportamento specifico all'interno di una stringa normale. Ad esempio, \n
rappresenta una nuova linea e \t
rappresenta uno spazio di tabulazione.
Puoi definire una stringa contenente caratteri di escape come segue:.
1# Example of escape characters
2print("Hello\nWorld") # A newline is inserted after "Hello"
3
4# Output:
5# Hello
6# World
Elenco dei principali caratteri di escape
I principali caratteri di escape utilizzati in Python sono i seguenti:.
\\
: Rappresenta una barra rovesciata.\'
: Include un singolo apice in una stringa.\"
: Include un doppio apice in una stringa.\n
: Nuova linea\t
: Tabulazione\r
: Ritorno a capo\b
: Spazio indietro\f
: Feed modulo\a
: Suono di allarme (campanella)\v
: Tabulazione verticale\N{name}
: Carattere per nome nella banca dati Unicode\uXXXX
: Carattere Unicode a 16 bit (specificato con 4 cifre esadecimali)\UXXXXXXXX
: Carattere Unicode a 32 bit (specificato con 8 cifre esadecimali)\xXX
: Carattere specificato in esadecimale
Esempi di caratteri di escape comunemente usati
Ecco alcuni esempi specifici su come utilizzare i caratteri di escape.
Doppie virgolette e virgolette singole
Per includere doppie virgolette o virgolette singole in una stringa, usa i caratteri di escape.
1# String containing double quotes
2quote = "He said, \"Python is amazing!\""
3print(quote)
4
5# String containing single quotes
6single_quote = 'It\'s a beautiful day!'
7print(single_quote)
8
9# Output:
10# He said, "Python is amazing!"
11# It's a beautiful day!
Nuove righe e tabulazioni
Nuove righe e tabulazioni sono comunemente utilizzate per formattare il testo.
1# Example using newline
2multiline_text = "First line\nSecond line"
3print(multiline_text)
4
5# Example using tab
6tabbed_text = "Column1\tColumn2\tColumn3"
7print(tabbed_text)
8
9# Output:
10# First line
11# Second line
12# Column1 Column2 Column3
Caratteri di escape Unicode
In Python, i caratteri Unicode sono rappresentati usando \u
o \U
. Questo è particolarmente utile quando si gestiscono caratteri non inglesi.
1# Example of Unicode escape
2japanese_text = "\u3053\u3093\u306B\u3061\u306F" # Hello in Japanese
3print(japanese_text)
4# Output:
5# こんにちは(Hello in Japanese)
Attenzioni con caratteri di escape speciali
Ci sono alcune attenzioni da tenere a mente quando si utilizzano i caratteri di escape.
- Stringhe grezze: Se vuoi visualizzare stringhe contenenti backslash così come sono, puoi utilizzare stringhe grezze. Le stringhe grezze sono specificate aggiungendo un prefisso
r
alla stringa.
1raw_string = r"C:\Users\name\Documents"
2print(raw_string)
3# Output:
4# C:\Users\name\Documents
Nelle stringhe grezze, il backslash non viene interpretato come carattere di escape ed è visualizzato così com'è.
- Uso di Unicode: Quando usi i caratteri di escape Unicode, assicurati che i codici esadecimali specificati siano corretti. Specifiche errate comporteranno la visualizzazione errata dei caratteri.
Escape dei backslash
Per includere un backslash in una stringa, usa due backslash.
1# Example containing backslash
2path = "C:\\Program Files\\Python"
3print(path)
4# Output:
5# C:\Program Files\Python
Esempio avanzato: formattazione complessa delle stringhe
È anche possibile combinare caratteri di escape per formattare stringhe complesse.
1# Example of formatting a message
2message = "Dear User,\n\n\tThank you for your inquiry.\n\tWe will get back to you shortly.\n\nBest Regards,\nCustomer Support"
3print(message)
4# Output:
5# Dear User,
6#
7# Thank you for your inquiry.
8# We will get back to you shortly.
9#
10# Best Regards,
11# Customer Support
Riepilogo
I caratteri di escape di Python sono uno strumento potente per includere caratteri di controllo specifici o caratteri speciali nelle stringhe. Capire come usarli e applicarli in modo appropriato quando necessario consente una gestione più flessibile delle stringhe.
Versioni di Python
Esaminiamo brevemente le principali versioni di Python e le loro caratteristiche.
- Python 1.0 (1994)
1# Simple code that works in Python 1.0
2def greet(name):
3 print "Hello, " + name # print was a statement
4
5greet("World")
La prima versione ufficiale. La sintassi di base e la libreria standard di Python sono state stabilite.
- Python 2.0 (2000)
1# List comprehension
2squares = [x * x for x in range(5)]
3print squares
4
5# Unicode string (u"...")
6greet = u"Hello"
7print greet
Sono state aggiunte funzionalità importanti, come le list comprehensions, la garbage collection completa e l'inizio del supporto Unicode. Python 2 è stato utilizzato per molto tempo ma ha raggiunto la fine del suo supporto nel 2020.
- Python 3.0 (2008)
1# print is now a function
2print("Hello, world!")
3
4# Unicode text is handled natively
5message = "Hello"
6print(message)
Un aggiornamento importante senza retrocompatibilità. print
è diventata una funzione, Unicode
è diventato il tipo di stringa predefinito e gli interi sono stati unificati, migliorando notevolmente la coerenza e l'usabilità di Python. La serie Python 3.x è la versione principale attuale.
- Python 3.5 (2015)
1import asyncio
2
3async def say_hello():
4 await asyncio.sleep(1)
5 print("Hello, async world!")
6
7asyncio.run(say_hello())
È stata introdotta la sintassi async
/await
, rendendo la programmazione asincrona più semplice da scrivere.
- Python 3.6 (2016)
1name = "Alice"
2age = 30
3print(f"{name} is {age} years old.") # f-string makes formatting simple
Sono stati aggiunti i Formatted String Literals (f-strings), rendendo la formattazione delle stringhe più comoda. Inoltre, sono stati ampliati i suggerimenti sui tipi (type hints).
- Python 3.7 (2018)
1from dataclasses import dataclass
2
3@dataclass
4class Person:
5 name: str
6 age: int
7
8p = Person("Bob", 25)
9print(p)
Sono state introdotte le Dataclasses, rendendo più facile definire classi simili a strutture. Il supporto per async
/await
è stato ulteriormente migliorato.
- Python 3.8 (2019)
1# Assignment inside an expression
2if (n := len("hello")) > 3:
3 print(f"Length is {n}")
È stato aggiunto l'operatore Walrus (:=), consentendo l'uso delle espressioni di assegnazione. Sono stati introdotti anche i parametri posizionali puri
(positional-only parameters
), migliorando la flessibilità degli argomenti delle funzioni.
- Python 3.9 (2020)
1a = {"x": 1}
2b = {"y": 2}
3c = a | b # merge two dicts
4print(c) # {'x': 1, 'y': 2}
Sono stati apportati miglioramenti ai suggerimenti sui tipi e aggiunto un operatore di unione (|
) per liste e dizionari. La libreria standard è stata anche riorganizzata.
- Python 3.10 (2021)
1def handle(value):
2 match value:
3 case 1:
4 return "One"
5 case 2:
6 return "Two"
7 case _:
8 return "Other"
9
10print(handle(2))
È stato aggiunto il Pattern matching, consentendo dichiarazioni condizionali più potenti. I messaggi di errore sono stati migliorati e il sistema di tipi è stato ulteriormente rafforzato.
- Python 3.11 (2022)
1# Improved performance (up to 25% faster in general)
2# More informative error messages
3try:
4 eval("1/0")
5except ZeroDivisionError as e:
6 print(f"Caught an error: {e}")
Sono stati apportati **miglioramenti significativi delle prestazioni**, con un'esecuzione più veloce rispetto alle versioni precedenti. Inoltre, sono stati fatti miglioramenti nella gestione delle eccezioni e nel controllo dei tipi.
- Python 3.12 (2023)
1# Automatically shows exception chains with detailed traceback
2def f():
3 raise ValueError("Something went wrong")
4
5def g():
6 try:
7 f()
8 except Exception:
9 raise RuntimeError("Higher level error") # Automatically chained
10
11try:
12 g()
13except Exception as e:
14 import traceback
15 traceback.print_exception(type(e), e, e.__traceback__)
I messaggi di errore sono stati ulteriormente migliorati e le prestazioni sono state potenziate. Inoltre, il concatenamento delle eccezioni viene visualizzato automaticamente, consentendo un debug più dettagliato. Sono state aggiunte nuove funzionalità di sintassi e miglioramenti alla libreria standard, migliorando la produttività degli sviluppatori.
La serie Python 3.x continua a evolversi, con le ultime versioni che migliorano le prestazioni, il sistema di tipi e aggiungono nuove funzionalità.
Puoi seguire l'articolo sopra utilizzando Visual Studio Code sul nostro canale YouTube. Controlla anche il nostro canale YouTube.