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 en que alguns blocs s'executen de manera seqüencial, selectiva o repetitiva.

Seqüència

Una seqüència és un conjunt d'elements agrupats un a continuació de l'altre.

Dades

Unes dades (o "data") és un un conjunt de valors que estan relacionats i que es gestionen com un conjunt.

Funcions

Les funcions son blocs de codi que es poden reutilitzar en altres parts del codi.

Objectes

undefined

Typing

Python utilitza "duck typing", pero també pots utilitzar "nominative typing" per validar codi.

Mòduls

Els mòduls contenen un conjunt de funcions, variables o classes per a poder-los usar en qualsevol programa.

Textual

undefined

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.

HTTP

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

Visual Studio Code

Existeixen moltes extensions dissenyades per crear un entorn de desenvolupament complet en Python.

Poetry

Poetry és una eina de gestió de dependències i creació de biblioteques.

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

undefined

Refacció

Refactoritzar és modificar el codi perquè tingui una altre estructura, però que segueixi fent el mateix.

Profiling

undefined

Web

FastAPI

FastAPI és framework web per crear APIs amb Python basat en l'estàndar de "type hints" de Python.

Vite

Integració d'un server amb Python i un client amb Typescript.

Anàlisi de dades

Numpy

Numpy és una biblioteca que ens permet gestionar matrius, tipat estàtic i realitzar càlculs científics. Moltes llibreries potents de Pyhton requereixen importar Numpy.

Matplotlib

Matplotlib és una biblioteca que serveix per dibuixar figures, funcions i tot tipus de gràfiques en imatges estàtiques.

Pandas

Pandas proporciona estructures de dades tabulades per a gestionar grans volums de dades de forma eficient. Permet ordenar, agrupar i obtenir estadístiques fàcilment.

Estadística

Estadística descriptiva, mesures de centralització, dispersió, outliers, correlació entre variables i corbes distribució. Amb gràfics per il·lustrar tots els conceptes.

Polars

Polars is an open-source library for data manipulation, known for being one of the fastest data processing solutions on a single machine. It features a well-structured, typed API that is both expressive and easy to use.

Patito

Patito offers a simple way to declare pydantic data models which double as schema for your polars data frames.

Avançat

Postgres

undefined

Functional

undefined

Docker

undefined

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.