Python és un llenguatge de programació d'alt nivell i propòsit general molt utilitzat en la ciència, l'anàlisi de dades i la intel·ligència artificial.
Fonaments
Computació
El propòsit inicial dels computadors era computar números.
Algoritme
Un algoritme és un conjunt de sentències que resolen una tasca.
Llista
Una llista és un conjunt d'elements agrupats un a continuació de l'altre.
Dades
Unes dades (o "data") és un conjunt de valors que estan relacionats i que es gestionen com un conjunt.
Funcions
Les funcions són blocs de codi que es poden reutilitzar en altres parts del codi.
Mòdul
Els mòduls contenen un conjunt de funcions, variables o classes per a poder-los usar en qualsevol programa.
Objectes
Objecte
Typing
Python utilitza "duck typing", pero també pots utilitzar "nominative typing" per validar codi.
Input/Output
JSON
JSON es un formato de texto que permite representar cualquier estructura de datos.
Fitxers
Llegir i editar fitxers de text amb Python és molt senzill, fins i tot si venen comprimits. També veurem com controlar les possibles excepcions durant l'accés als fitxers.
urllib3
HTTP et permet accedir a dades a través d'Internet
Pydantic
Pydantic valida i serialitza de manera automàtica les dades JSON que consumeixes o produeixes.
Desenvolupament
PyCharm
PyCharm és una IDE per Python
uv
uv s'encarrega de gestionar tot el que té a veure amb Python.
Test
Un codi ha de tenir un conjunt de proves automatitzades que et permeten dissenyar nou codi i poder modificar codi verificant que tot segueix funcionant correctament.
Debug
Refacció
Refactoritzar és modificar el codi perquè tingui una altre estructura, però que segueixi fent el mateix.
Profiling
UI
Toga
Toga is a Python native, OS native, cross platform GUI toolkit. Toga consists of a library of base components with a shared interface to simplify platform-agnostic GUI development.
Briefcase
Briefcase es una herramienta que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto.
Textual
Web
Streamlit
Streamlit és un framework per crear aplicacions web per analitzar dades.
NiceGUI
FastAPI
Un servidor web es pot configurar com un servidor de recursos que s'accedeixen mijançant un conjunt de funcions "externes" o endpoints (API)
Vite
Integració d'un server amb Python i un client amb Typescript.
Anàlisis de dades
Numpy
Numpy et permet utilitzar matrius per realitzar càlculs de manera eficient.
Polars
Polars et permet analitzar i processar grans volums de dades.
Altair
Vega-Altair is a declarative statistical visualization library for Python.
Estadística
L'estadística ens permet extreure dades d'un conjunt enorme de dades de tal manera que ens permeten entendre les relacions entre les dades.
Plotnine
Plotnine és un paquet de visualització de dades per a Python basat en la gramàtica dels gràfics, un sistema coherent per descriure i construir gràfics.
Patito
Patito ofereix una manera senzilla de declarar models de dades pydantic que serveixen també com a esquema per als teus dataframes de polars.
Hash
Avançat
Postgres
Multiprocessament
Functional
Docker
Programació dinàmica
La programación dinámica es un método de resolución de problemas que se basa en resolver el problema a partir de un subproblema más pequeño de forma recursiva hasta encontrar el resultado del subproblema menor.