Python base e mini tool pag.
Python base e mini tool
Variabili, condizioni, liste, dizionari, funzioni e analisi log.
Appunti sintetici ma completi, pensati per ripassare velocemente senza
leggere una pappardella infinita.
Contiene: Programmazione / Python / Pratica
Metodo consigliato: leggi una sezione, coprila, prova a rispiegarla a voce e poi controlla lo schema finale.
Python base e mini tool pag. 2
Python base e mini tool
1. Perche Python e utile
Python e un linguaggio molto leggibile, usato per scuola, automazione, analisi dati,
cybersecurity, script di sistema, web e intelligenza artificiale. Il suo punto forte e che
permette di creare strumenti pratici con poche righe, ma senza essere un giocattolo.
2. Variabili, tipi e input
Una variabile e un nome che punta a un valore. Il tipo indica che cosa puoi fare con quel
valore: testo, numero intero, numero decimale, booleano, lista, dizionario e cosi via.
nome = input("Inserisci il tuo nome: ").strip()
eta = int(input("Inserisci la tua eta: "))
print("Ciao", nome)
print("Tra un anno avrai", eta + 1, "anni")
Cose importanti
● input() restituisce sempre una stringa.
● int() converte in numero intero, se il testo contiene un numero valido.
● .strip() elimina spazi inutili all'inizio e alla fine.
● I nomi delle variabili devono essere chiari: meglio numero_failed che x.
3. Condizioni
Le condizioni permettono al programma di prendere decisioni. Il codice dentro un if viene
eseguito solo se la condizione e vera.
status = "FAILED"
if status == "FAILED":
print("Accesso fallito")
elif status == "SUCCESS":
print("Accesso riuscito")
else:
print("Stato sconosciuto")
4. Liste e cicli
Una lista contiene piu valori ordinati. Un ciclo for permette di attraversare gli elementi uno
alla volta.
utenti = ["admin", "root", "mario"]
for utente in utenti:
print("Controllo utente:", utente)
Errori comuni
● Dimenticare i due punti dopo if, for, def.
● Sbagliare indentazione: in Python gli spazi contano.
● Usare = al posto di == nelle condizioni.
Python base e mini tool pag. 3
● Dimenticare le parentesi quando chiami una funzione, per esempio [Link]().
5. Dizionari
Un dizionario salva coppie chiave-valore. E perfetto per rappresentare dati strutturati, come
un log con utente, IP, servizio e stato.
log = {
"status": "FAILED",
"user": "admin",
"ip": "[Link]",
"service": "ssh"
}
print(log["user"])
print([Link]("service", "servizio sconosciuto"))
6. Funzioni
Una funzione e un blocco di codice riutilizzabile. Serve a evitare copia-incolla e a dividere il
programma in parti piu facili da capire.
def e_sospetto(log):
if log["status"] == "FAILED" and log["user"] in ["admin", "root"]:
return True
return False
print(e_sospetto(log))
7. Mini progetto: analizzatore di log
Ecco l'idea di un piccolo strumento utile: leggi una lista di log, conta successi e fallimenti,
poi segnala quelli sospetti.
logs = [
{"status": "FAILED", "user": "admin", "ip": "[Link]"},
{"status": "SUCCESS", "user": "mario", "ip": "[Link]"},
{"status": "FAILED", "user": "root", "ip": "[Link]"}
]
failed = 0
success = 0
sospetti = []
for log in logs:
if log["status"] == "FAILED":
failed += 1
if log["user"] in ["admin", "root"]:
[Link](log)
elif log["status"] == "SUCCESS":
success += 1
print("Failed:", failed)
print("Success:", success)
print("Sospetti:", sospetti)
8. Come migliorare un programma
● Prima fallo funzionare in modo semplice.
● Poi spezzalo in funzioni.
Python base e mini tool pag. 4
● Poi aggiungi gestione errori, per esempio file non trovato.
● Poi rendi configurabili soglie e percorsi.
● Infine pulisci nomi, output e struttura.
Regola d'oro: un programma buono non e quello scritto tutto in una riga. E quello che capisci
anche dopo una settimana senza bestemmiare mentalmente.
Schema finale da memorizzare
● Variabile = nome associato a un valore.
● if/elif/else = decisioni.
● for = ripetizione su elementi.
● lista = valori ordinati; dizionario = chiavi e valori.
● funzione = blocco riutilizzabile.
● Per la cybersecurity, Python e utilissimo per parsing, automazione, controlli e piccoli tool.