python

Unitat Didàctica 1: Preparar entorn

Què és Python?

Python és un llenguatge de programació d'alt nivell creat per Guido van Rossum el 1991. És un conjunt de normes i eines que ens permeten escriure instruccions que l’ordinador pot entendre i executar.

És un llenguatge interpretat, cosa que significa que pots escriure el codi i executar-lo directament sense haver de compilar-lo abans.

Això permet provar idees i veure els resultats ràpidament, cosa que fa que l’aprenentatge sigui més motivador i pràctic.

Gràcies a aquestes característiques, Python és ideal tant per a principiants com per a professionals que necessiten crear programes ràpidament i de manera eficient

Algunes característiques importants de Python són:

Per què usar Python en un curs d’introducció?

Per tot açò, podem dir que Python és un llenguatge fàcil, flexible i potent, perfecte per a començar en programació. En un curs d’introducció, permet aprendre els conceptes bàsics de manera pràctica i motivadora, i prepara els estudiants per a projectes més avançats o treballs futurs.



Verificar i instal·lar Python

1. Verificar Python

Per a poder programar en Python, és necessari tindre instal·lat aquest llenguatge al nostre equip. En esta secció aprendràs a verificar si Python ja està instal·lat i, si no ho està, com instal·lar-lo.

Verificar si Python està instal·lat

  1. Obri una terminal o consola de comandes:
    • En Windows, busca “cmd” en el menú d'inici.
    • En macOS o Linux, obri l'aplicació “Terminal”.
  2. Escriu la següent ordre i prem Enter:
    c:\> python --version   /  # python3 --version
  3. Si Python està instal·lat, veuràs un missatge amb la versió, per exemple:
    Python 3.10.4
    Si veus un missatge d'error o diu que no es reconeix l'ordre, aleshores necessites instal·lar Python.

2. Instal·lar Python

Si no tens Python instal·lat o necessites actualitzar-lo, pots seguir els passos adequats segons el teu sistema operatiu:

2.1. En Windows

  1. Accedeix al lloc web oficial: https://www.python.org/downloads/windows/
  2. Fes clic en el botó de descàrrega de l'última versió.
  3. Executa l'arxiu descarregat.
  4. En la finestra de l’instal·lador:
    • Marca l’opció "Add Python to PATH".
    • Fes clic en "Install Now".
  5. Una vegada instal·lat, pots verificar-ho obrint la consola (cmd) i escrivint:
    python --version     o    py --version
  6. *** També en PowerShell

2.2. En macOS

  1. Descarrega l’instal·lador des de: https://www.python.org/downloads/macos/
  2. Obri l'arxiu .pkg descarregat i seguix els passos de l’instal·lador.
  3. Per verificar la instal·lació, obri la Terminal i escriu:
    python3 --version

2.3. En Linux

La majoria de distribucions Linux ja inclouen Python. Per a verificar-ho, obri la terminal i escriu:

python3 --version

Si no està instal·lat o desitges actualitzar-lo, pots utilitzar el gestor de paquets corresponent.

Per exemple, en Debian/Ubuntu
sudo apt update
sudo apt install python3     
En Fedora / Red Hat / CentOS  => dnf , yum
sudo dnf check-update
sudo dnf install python3  
Arch Linux / Manjaro
sudo pacman -Syu      # actualitza tot
sudo pacman -S python 
OpenSUSE
sudo zypper refresh
sudo zypper install python3 

3. Instal·lar pip

pip és una eina que permet instal·lar paquets i biblioteques addicionals en Python. Normalment, s’instal·la automàticament junt amb Python. Ací aprendràs com verificar si ja està instal·lat i com instal·lar-lo en cas que no ho estiga.

3.1 Verificar si pip està instal·lat

  1. Obri una terminal o consola de comandes.
  2. Escriu la següent ordre i prem Enter:
    pip --version
    o en alguns sistemes:
    pip3 --version
  3. Si veus un missatge amb la versió de pip (per exemple, pip 23.1.2), aleshores ja està instal·lat.
  4. Si apareix un missatge d’error indicant que no es reconeix la ordre, hauràs d’instal·lar pip manualment.

3.2 Instal·lar pip (si és necessari)

(⚠️ De moment, no utilitzes l’instal·lador PIP!! Espera al següent punt)

En Windows o macOS (si no s’instal·là amb Python)

  1. Descarrega l’script get-pip.py des del lloc oficial: https://bootstrap.pypa.io/get-pip.py
  2. Guarda l’arxiu en una ubicació fàcil d’accedir, per exemple a l’escriptori.
  3. Obri una terminal o consola, navega a la carpeta on està guardat l’arxiu i executa:
    python get-pip.py

En Linux (usant el gestor de paquets)

En la majoria de distribucions de Linux pots instal·lar pip amb el gestor de paquets. Per exemple, en Debian/Ubuntu:

sudo apt update
sudo apt install python3-pip

Després, verifica la instal·lació amb:

pip3 --version

Una vegada instal·lat pip, podràs usar-lo per a instal·lar paquets de Python, com per exemple:

pip install nom_del_paquet

⚠️ De moment, no utilitzes l’instal·lador PIP!! Espera al següent punt.

4. Configurar entorn virtual

Un entorn virtual en Python és una eina que permet crear un espai aïllat per a instal·lar dependències i paquets específics per a un projecte, sense afectar altres configuracions del sistema.

Per a evitar problemes amb dependències entre projectes i tindre un entorn aïllat per a cadascun dels teus projectes, és recomanable usar entorns virtuals. A més, en Linux, si no configures un entorn virtual, tindràs problemes amb pip. (si estàs en Windows, pots saltar-te este pas)

Instal·lar l’eina per a crear entorns virtuals - VENV

$ sudo apt install python3-venv

4.1 Crear un entorn virtual

  1. Obri una terminal o consola de comandes.
  2. Ubica’t en la carpeta on vols crear l’entorn virtual o crea’n una de nova:
    mkdir mi_proyecto
    cd mi_proyecto
  3. Executa la següent ordre per a crear l’entorn virtual (per convenció el cridarem mientorno):
    python -m venv mientorno

    Aquesta ordre crearà una carpeta anomenada mientorno que contindrà l’entorn virtual.

4.2 Activar l’entorn virtual

En Windows

mientorno\Scripts\activate

En macOS o Linux

source mientorno/bin/activate

Després d’activar l’entorn virtual, hauries de vore el nom de l’entorn (per exemple, (mientorno)) al principi de la línia en la consola, indicant que està actiu.

4.3 Verificar instal·lació de pip en l’entorn

Una vegada activat l’entorn, assegura’t que pip estiga disponible:

pip --version

A partir d’ací, ja es poden instal·lar paquets dins de l’entorn virtual

4.4 Desactivar l’entorn virtual

Quan acabes de treballar en el teu projecte, pots eixir de l’entorn virtual executant:

deactivate

Això et retornarà a l’entorn global del sistema.



Entorn virtual des de VSCode

Video sobre entorns virtuals en VSCode

5. Instal·lar paquets

En Python, els paquets són mòduls reutilitzables que amplien les funcionalitats del llenguatge. Per a gestionar i instal·lar estos paquets s’utilitza pip, el gestor oficial de paquets de Python.

5.1 Instal·lar un paquet amb pip

⚠️ Primer, activar el teu entorn virtual.

source mientorno/bin/activate

Per a instal·lar un paquet, utilitza la següent ordre en la consola (preferiblement amb l’entorn virtual activat)

pip install nom_del_paquet

Exemple:

pip install requests

Exemple:

  pip install pyfiglet
  ús:   pyfiglet hola python   

5.2 Veure paquets instal·lats

Per a veure quins paquets estan instal·lats en el teu entorn actual:

pip list

5.3 Desinstal·lar un paquet

Si necessites desinstal·lar un paquet:

pip uninstall nom_del_paquet

5.4 Actualitzar un paquet

Per a actualitzar un paquet a la seua última versió:

pip install --upgrade nom_del_paquet

5.5 Instal·lar múltiples paquets des d’un fitxer

També és possible instal·lar diversos paquets definits en un fitxer requirements.txt amb la següent ordre:

pip install -r requirements.txt

Este fitxer conté una llista de paquets, un per línia, que el projecte necessita.

5.6 Obtindre el fitxer requirements.txt

pip freeze > requirements.txt

Però, si només vols les dependències utilitzades realment al teu projecte (no tot el que hi ha instal·lat), pots usar eines com: pipreqs


pip install pipreqs
pipreqs /ruta/al/teu/projecte    
  

Això crearà un fitxer requirements.txt només amb els paquets utilitzats al codi font.

Obtenir el fitxer requirements.txt és important perquè:

  1. El fitxer requirements.txt conté totes les dependències del teu projecte (amb les versions). Això permet a altres persones (o a tu mateix més endavant) instal·lar exactament les mateixes biblioteques i versions
  2. Quan treballes amb altres desenvolupadors, poden preparar el seu entorn amb una sola comanda. És una pràctica estàndard en projectes Python
  3. Plataformes com Heroku, AWS, Docker, etc. utilitzen el requirements.txt per instal·lar les dependències quan desplegues una aplicació
  4. Et permet assegurar que les versions dels paquets que estàs utilitzant no canviïn inesperadament. Així evites errors quan es publiquen noves versions incompatibles
  5. Forma part de l'estàndard de qualsevol projecte Python ben estructurat. Juntament amb altres fitxers com README.md, .gitignore, etc.

6. Instal·lar un editor de text o un IDE

Per a escriure i executar codi en Python de manera eficient, és recomanable usar un editor de text avançat o un IDE (Entorn de Desenvolupament Integrat). Estes eines ofereixen característiques com el ressaltat de sintaxi, autocompletat, depuració i gestió de projectes.

6.1 Visual Studio Code (VS Code)

Visual Studio Code és un dels editors més populars per al desenvolupament en Python. És lleuger, extensible i gratuït.

  1. Descarrega’l des de: https://code.visualstudio.com/
  2. Instal·la’l com qualsevol altra aplicació per al teu sistema operatiu.
  3. Una vegada obert, instal·la l’extensió oficial de Python:
    • Fes clic en la icona d’extensions (barra lateral esquerra).
    • Cerca “Python” (editor: Microsoft) i instal·la-la.
    • L'última versió ja porta instal·lades les altres extensions per a python de Microsoft, com Python Debugger, Pylance i Python Environments
  4. Amb l’extensió instal·lada, podràs executar scripts, usar la depuració, i treballar amb entorns virtuals des de VS Code.

6.2 Altres editors o IDEs populars

6.3 Recomanació

Per a qui està començant, Visual Studio Code o VSCodium és una excel·lent opció per la seua simplicitat i potència. A més, permet integrar control de versions amb Git i múltiples eines per al desenvolupament modern.

7. Configuració de Linters i Formatejadors

Els linters i formatejadors ajuden a millorar la qualitat del codi. Els linters detecten errors, advertiments o males pràctiques, mentre que els formatejadors corregeixen automàticament l’estil del codi perquè siga més llegible i uniforme.

7.1 Eines recomanades

7.2 Instal·lació d’eines

Amb el teu entorn virtual activat, instal·la les eines amb pip:

pip install flake8 black isort

7.3 Configuració en Visual Studio Code

Flake8, Black i isort NO són extensions de VS Code, són eines de Python que han d’estar instal·lades en el teu entorn Python. VS Code / VSCodium només les utilitza, no les porta de sèrie.

📌 Recomanat: instal·lar-les dins del venv del projecte, no globalment.

  1. Obri el menú de configuració (⚙️ → "Settings").
  2. Cerca Python Linting i habilita l’opció Linting: Enabled.
  3. Selecciona flake8 com a linter predeterminat.
  4. Per configurar el formatejador, busca Python Formatting Provider i selecciona black.
  5. Habilita el format al guardar (opcional però recomanat):
    • Cerca "Format On Save" i activa-ho.

7.4 Ús manual des de la terminal

També pots executar aquestes eines des de la consola:

7.5 Arxius de configuració (opcional)

Pots crear arxius com pyproject.toml o .flake8 per definir configuracions personalitzades per a cada eina.

Exemple de pyproject.toml per a Black:

    [tool.black]
    line-length = 88
    target-version = ['py39']

8. Depuració

La depuració és el procés de trobar i solucionar errors en el codi font de qualsevol programari.

Per depurar el teu codi Python, pots utilitzar eines com pdb, que és el depurador integrat en Python. Només has d’incloure la línia: import pdb; pdb.set_trace() al teu codi per començar a depurar.

També podràs utilitazar el depurador (debugger) integrat en VSCode, més visual i intuïtiu

El funcionament del depurador es vorà més endavant

9. Control de versions

El control de versions permet gestionar els canvis en el codi font de manera eficient. L’eina més utilitzada per a això és Git, que permet mantenir un historial de versions, col·laborar amb altres persones i treballar en múltiples branques del projecte.

9.1 Instal·lar Git

Descarrega Git des del seu lloc oficial:

https://git-scm.com/

L’installació és senzilla i depèn del sistema operatiu. A Windows, inclou una terminal anomenada Git Bash.

9.2 Configuració inicial

Després d'instal·lar Git, és recomanable configurar el teu nom d'usuari i correu electrònic:

git config --global user.name "El teu Nom"
git config --global user.email "tu.email@example.com"

9.3 Comandes bàsiques de Git

9.4 Fer servir GitHub (repositori remot)

GitHub és una plataforma per allotjar repositoris Git al núvol. Permet col·laborar i fer còpies de seguretat de projectes.

  1. Crea un compte a https://github.com/
  2. Crea un nou repositori des de la web.
  3. Connecta el teu repositori local amb GitHub:
    
    git remote add origin https://github.com/usuari/nombre-repo.git
    git push -u origin master

9.5 .gitignore

L'arxiu .gitignore indica a Git quins arxius o carpetes no s’han d'incloure en el control de versions (per exemple, entorns virtuals, arxius temporals, etc.).

Exemple de contingut de .gitignore:

venv/
__pycache__/
*.pyc
.env

Amb aquestes eines i bones pràctiques, podràs mantenir un projecte ben organitzat i controlat.

10. Configuració d'entorns segurs

Quan es treballa en projectes de programari, és important mantenir un entorn segur per protegir credencials, dades sensibles i evitar errors per un mal maneig de configuracions. A continuació es presenten bones pràctiques per aconseguir-ho.

10.1 Variables d'entorn

Les variables d'entorn permeten emmagatzemar informació sensible, com claus API o contrasenyes, sense incloure-les directament en el codi font.

Per gestionar aquestes variables, es pot utilitzar un arxiu .env juntament amb la llibreria python-dotenv:

pip install python-dotenv

Exemple d'un arxiu .env:

SECRET_KEY=la_meva_clau_secreta
DEBUG=False

I per carregar-lo a la teva aplicació Python:

    from dotenv import load_dotenv
import os
load_dotenv()
clau = os.getenv("SECRET_KEY")

10.2 Ús de l'arxiu .gitignore

És important assegurar-se que arxius com .env, arxius de configuració local i entorns virtuals no es pujan a repositoris públics:

.env
venv/
__pycache__/
*.pyc

10.3 Gestió de dependències segures

10.4 Control d'accés i bones pràctiques

Aquestes pràctiques contribueixen a desenvolupar aplicacions més segures i professionals, especialment en entorns col·laboratius o de producció.

11. Biblioteques

Python té un gran nombre de biblioteques amb diferents propòsits, de les quals els programadors poden fer ús.

D'entre les més importants i populars, podem citar:

biblioteca tkinter

La biblioteca tkinter és una de les més populars i completes en Python per a gui

Algunes de les característiques principals de la biblioteca són:

API : https://docs.python.org/3/library/tkinter.html

Exemple d'ús

import tkinter as tk
ventana = tk.Tk()
ventana.title("Mi primera GUI")
ventana.geometry("300x100")

etiqueta = tk.Label(ventana, text="Hola, mundo!")
etiqueta.pack()

ventana.mainloop()     

Algunes biblioteques no les porta el llenguatge Python incorporades i cal instal·lar-les primer

Instal·lació (dins de l'entorn virtual !!)

pip install numpy

Altres biblioteques agrupades per tematica

🧰 Eines i utilitats generals

🖥️ Interfícies gràfiques d'usuari (GUI)

🌐 Web i APIs

🗃️ Bases de dades

📊 Ciència de dades i anàlisi numèric

🧪 Ciència i enginyeria

12. L'entorn de programació per a Python

Un entorn de programació (o entorn de desenvolupament) per a un llenguatge de programació com Python és un conjunt d'eines i recursos que faciliten la creació, el desenvolupament, l'execució i la depuració del codi font d'un programa escrit en aquell llenguatge. Aquests entorns estan dissenyats per fer el treball del programador més eficient, proporcionant una sèrie d'eines per facilitar la redacció del codi, la seva execució i la detecció d'errors. Els entorns de programació poden variar des d'entorns simples fins a entorns molt complets que inclouen moltes funcionalitats

Python Shell (Intèrpret Interactiu)

El Python Shell és el mode interactiu bàsic de Python. Quan instal·les Python, aquest ve amb un entorn de consola interactiva que et permet executar codi Python línia a línia i obtindre resultats immediats.

Com utilitzar el Python Shell:

IDLE, entorn de desenvolupament de Python

IDLE (Entorn de Desenvolupament Integrat per a Python) és un entorn gràfic de desenvolupament elemental que permet editar i executar programes en Python.

IDLE també és un entorn interactiu en què es poden executar instruccions soltes de Python.

En Windows, IDLE es distribueix juntament amb l'intèrpret de Python. És a dir, quan instal·les Python en Windows, també s’instal·la IDLE automàticament.

En Linux, IDLE es distribueix com una aplicació separada que es pot instal·lar des dels repositoris de cada distribució.

$ sudo apt install idle3    
    

Una vegada finalitze la instal·lació, podrem iniciar aquest entorn des del menú principal del sistema Linux.

Visualment és molt paregut al Python Shell, però amb una interfície gràfica d’usuari (GUI), que facilita l’edició i execució de codi.

Python des de Bash

Utilitzant un editor del sistema operatiu (nano, gedit, notepad en Windows, VSCode, etc.), editem un fitxer amb extensió .py que continga el codi Python.

Per exemple, creem un fitxer anomenat exemple.py.

Contingut de exemple.py:

a = 5
b = 3
suma = a + b
print("La suma de", a, "i", b, "és:", suma)          

Guardem el fitxer i executem el codi des de la terminal:

$ python3 exemple.py       
C:\> py exemple.py       #  En Windows 

(s'escriurà per pantalla....)
La suma de 5 i 3 és: 8          

Aclariment: En Windows, “py” és un iniciador automàtic instal·lat amb Python


Un altre exemple. Ara, Python ens demana el nostre nom, i el programa no continua fins que teclegem i polsem intro. Vegem-ho

Contingut de exemple-llegir.py:

nom = input("Hola, dis-me el teu nom : ");
print("Hola ", nom , "practiquem codi en pyton !!");         

Guardem el fitxer i executem el codi des de la terminal:

$ python3 exemple-llegir.py       
C:\> py exemple-llegir.py       #  En Windows           

Executar com a script autònom

Una altra forma d'executar un fitxer Python és indicant en la primera línia on es troba l'intèrpret de Python:

#! /usr/bin/python3
a = 5
b = 3
suma = a + b
print("La suma de", a, "i", b, "és:", suma)          

A continuació, cal donar permisos d’execució al fitxer:

$ chmod +x exemple.py
$ ./exemple.py          

IPython: Un Shell Interactiu Millorat

IPython és una versió millorada del Python Shell que proporciona funcionalitats addicionals com l'autocompletat, documentació en línia, historial d’ordres i més.

Instal·lació d’IPython:

Si no tens IPython instal·lat, pots fer-ho fàcilment amb pip:

$ pip3 install ipython        
C:\> pip install ipython                

⚠️ Recorda carregar el teu entorn virtual primer...

Com utilitzar IPython:

Jupyter Notebooks

Jupyter Notebooks és una eina web interactiva que et permet escriure codi Python, text i equacions en un mateix document. És ideal per a l’exploració de dades, l’anàlisi i l’experimentació.

Instal·lació de Jupyter Notebooks:

Si no tens Jupyter instal·lat, pots fer-ho utilitzant pip:

$ pip3 install notebook         

⚠️ Recorda carregar el teu entorn virtual primer...

Com utilitzar Jupyter Notebooks:

  1. Iniciar el servidor de Jupyter:

    En la terminal, escriu:

    $ jupyter notebook

    Açò obrirà una pàgina web en el teu navegador, generalment en http://localhost:8888, des d’on podràs crear, editar i executar quaderns interactius de Python.

  2. Executar codi en cel·les:

    En Jupyter, el codi s’organitza en cel·les. Pots escriure codi dins d’una cel·la i executar-lo amb la combinació de tecles Shift + Enter.

    També pots combinar codi i text (en format Markdown) dins del mateix quadern, cosa que el fa ideal per documentar projectes.

  3. Altres característiques:
    • Visualització de gràfics: Si treballes amb llibreries com matplotlib o seaborn, els gràfics es mostren directament dins del quadern.
    • Exportació: Pots exportar els teus quaderns com a fitxers HTML o PDF per compartir-los o presentar-los.

Python en Entorns de Desenvolupament Integrats (IDE)

Molts IDEs (Entorns de Desenvolupament Integrats) també proporcionen una consola interactiva on pots executar codi Python de manera ràpida, a més d’oferir funcionalitats addicionals com la depuració (debugging) i l’autocompletat.

Alguns IDEs populars:

Exemple en Visual Studio Code:

  1. Instal·la Visual Studio Code i l’extensió de Python.
  2. Obri un fitxer Python i prem Ctrl + Shift + P (Windows) o Cmd + Shift + P (Mac), i escriu Python: Start REPL per obrir una consola interactiva dins de VS Code.
  3. Pots executar codi en la consola interactiva i veure els resultats immediatament.

Ús de Python Interactiu des de Scripts

Si prefereixes escriure el teu codi en fitxers .py, però vols executar de manera interactiva certes seccions, pots utilitzar la funció code.InteractiveConsole per emular un entorn interactiu dins d’un script Python.

Exemple d’ús de InteractiveConsole:

import code

# Crear una consola interactiva
console = code.InteractiveConsole()

# Executar codi en la consola
console.push('x = 10')
console.push('print(x * 2)')         

Aquest enfocament és útil si vols incorporar una sessió interactiva dins d’una aplicació o script Python, per exemple per a proves, prototipat o entorns educatius.

Ús de Python des d'una Plataforma Web

Existen plataformes web des de les quals es pot practicar codi Python directament escrivint en el navegador.

Exemples (sense registre):

Exemples (amb registre):

Python 2 vs Python 3

Python 3 és la versió moderna i recomanada. Python 2 ha deixat de rebre suport oficial des del 2020.

Per comprovar la versió de Python:

$ python --version    o  python -V
o
$ python3 --version    o  python3 -V  s      

Això et mostrarà alguna cosa com:

Python 3.10.7      

Exercicis

Els exercicis i tests corresponents a esta unitat es troben en Aules