Python

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.