feat: add Python section with overview, example code, and logo; update bibliography with Python reference

This commit is contained in:
2025-03-20 15:28:30 +01:00
parent 216d9ec624
commit f63962516f
3 changed files with 62 additions and 1 deletions

View File

@@ -38,6 +38,7 @@
\usepackage{lipsum} % Per inserire testo a caso in attesa di realizzare i capitoli
\usepackage{listings} % Per inserire codice formattato
%\lstset{
%lstset va usato dopo l'inizio del document e ogni volta che si vuole cambiare/impostare il linguaggio da formattare
% language=bash
@@ -724,6 +725,55 @@ Infine, il MongoDB Query Language Aggregation Framework, è un set di processi c
\subsection{Python}
Python è un linguaggio di programmazione ad alto livello, interpretato, orientato agli oggetti e con semantica dinamica. È progettato per essere facile da leggere e scrivere, con una sintassi pulita e chiara che favorisce la leggibilità del codice. Python è noto per la sua facilità d'uso e la sua versatilità, che lo rendono adatto a una vasta gamma di applicazioni, dallo sviluppo web alla data science, all'automazione dei processi.
\begin{figure}[H]
\centering
\includegraphics[width=300pt]{images/python-logo-master-v3-TM.png}
\caption{Python Logo.}
\end{figure}
Essendo un linguaggio interpretato, Python non richiede una fase di compilazione, ma viene eseguito direttamente da un `interpreter'. Questo lo rende particolarmente adatto per lo sviluppo rapido di applicazioni e per l'iterazione veloce durante lo sviluppo. Python è anche noto per la sua vasta libreria standard, che fornisce un'ampia gamma di moduli e pacchetti pronti all'uso per svolgere una varietà di compiti comuni e per auesto viene utilizzato spesso per fare `data science'.\cite{10.5555/1593511}
L'indentazione è parte fontamentale in quanto, a differenza di altri linguaggi di programmazione dove l'indentazione è solo una convenzione, in Python è obbligatoria e definisce la struttura del codice. Questo rende il codice più leggibile e coerente, ma richiede anche attenzione per mantenere la corretta struttura del codice.
\break
\lstset{language=Python}
\begin{lstlisting}[caption={Esempio di codice Python}, captionpos=b, basicstyle=\footnotesize]
import numpy as np
def incmatrix(genl1,genl2):
m = len(genl1)
n = len(genl2)
M = None #to become the incidence matrix
VT = np.zeros((n*m,1), int) #dummy variable
#compute the bitwise xor matrix
M1 = bitxormatrix(genl1)
M2 = np.triu(bitxormatrix(genl2),1)
for i in range(m-1):
for j in range(i+1, m):
[r,c] = np.where(M2 == M1[i,j])
for k in range(len(r)):
VT[(i)*n + r[k]] = 1;
VT[(i)*n + c[k]] = 1;
VT[(j)*n + r[k]] = 1;
VT[(j)*n + c[k]] = 1;
if M is None:
M = np.copy(VT)
else:
M = np.concatenate((M, VT), 1)
VT = np.zeros((n*m,1), int)
return M
\end{lstlisting}
\subsection{Selenium}
\section{Architettura del sistema di test}