- Configurar correctament Python al Windows evita problemes amb rutes, àlies i versions.
- L'intèrpret interactiu i els fitxers .py faciliten provar codi i construir programes reals.
- La sintaxi de Python, el seu tipatge dinàmic i la sagnia obligatòria afavoreixen un codi llegible.
- L'ajuda integrada i els recursos en línia permeten seguir aprenent Python de manera autònoma.

Si estàs intentant aprendre Python a Windows i no saps per on començar , no ets l'única persona. El més complicat en endinsar-se en qualsevol llenguatge de programació no sol ser el mateix codi, sinó aclarir-se amb la instal·lació, les eines i les primeres proves. Entre rutes del sistema, àlies d'execució i versions diferents de Python, és fàcil desesperar-se fins i tot abans d'escriure el primer print().
En aquest article trobaràs una guia detallada, pràctica i amb molts matisos per aprendre Python a Windows des de zero: com instal·lar-ho bé, com evitar problemes típics amb les rutes, què és exactament l'intèrpret, com escriure i executar programes, com organitzar el teu codi en mòduls i com seguir aprenent amb bons recursos . Tot explicat amb un llenguatge proper, però sense deixar fora cap concepte important.
Per què costa tant començar amb Python (especialment a Windows)
Molta gent coincideix que el primer gran fre en aprendre Python no és la sintaxi ni els conceptes de programació, sinó una cosa molt més bàsica: saber on dimonis fer clic i què instal·lar. Usuaris com tu expliquen històries molt semblants: intenten crear un entorn virtual per utilitzar una versió anterior de Python, toquen la configuració de Windows, desinstal·len Python seguint un tutorial i, de sobte, el sistema deixa de reconèixer qualsevol ordre python.
Un dels punts que genera més confusió és el tema de les rutes i les variables d'entorn . Per què cal marcar la casella de “Afegir Python al PATH”? Què vol dir que Windows no troba l'ordre? Què pinta exactament té això d'administrar àlies d'execució d'aplicacions? Per a algú que simplement voleu executar un parell de scripts danàlisi de dades , pot sonar totalment innecessari i fins i tot absurd.
Tot i això, aquestes petites complicacions inicials tenen explicació: Windows necessita saber on està instal·lat l'intèrpret de Python per poder executar-lo des de qualsevol finestra d'ordres. Si aquesta ruta no és a la variable PATH, veureu errors com “python no es reconeix com una ordre interna o externa”. I si, a més, es barregen els àlies de la Microsoft Store amb instal·lacions clàssiques, la cosa es torna un petit trencaclosques.
La bona notícia és que, una vegada superada aquesta primera fase d'instal·lació i configuració, Python és molt amigable i flexible . Per això moltes empreses (inclosa Google) el fan servir com a llenguatge d'introducció a la programació i hi ha cursos específics per a principiants que et porten pas a pas des de “no en tinc ni idea” fins a escriure programes útils i llegibles.
Instal·lar Python a Windows sense tornar boig
Per aprendre Python a Windows amb bona lletra, l'ideal és instal·lar una versió actual de Python 3 des de la web oficial o des d'una font fiable, i deixar de banda les instal·lacions antigues o barrejades que puguin ser abans. Això redueix molts dels conflictes habituals.
En executar l'instal·lador de Python al Windows veureu una casella clau: “Add Python to PATH” (Afegir Python al PATH). És molt recomanable marcar-la perquè l'instal·lador afegeix automàticament la ruta de l'intèrpret a les variables d'entorn del sistema. Això significa que, en obrir una consola (CMD o PowerShell), podràs escriure python o python3 sense més ni més, sense haver de recordar la carpeta on es va instal·lar.
Un altre punt que genera confusió és l'opció d' “Administrar àlies d'execució d'aplicacions” de Windows. Aquesta característica permet associar certes ordres (com python.exe) a aplicacions instal·lades des de la Microsoft Store. Quan utilitzes Python de la Store i, a més, instal·les una altra versió des de python.org, pot ser que Windows llanci una o una altra de forma poc predictible. Si vols evitar embolics, acostuma a fer servir una sola instal·lació principal de Python 3 ben configurada, i revisa aquests àlies per no tenir dobles rutes competint.
Si en algun moment desinstal·les Python per seguir un tutorial i després el sistema deixa de reconèixer l'ordre, no t'espantis: el normal és que n'hi ha prou amb reinstal·lar Python 3 i tornar a marcar la casella del PATH. A partir d'aquí ja podreu crear entorns virtuals, instal·lar llibreries i executar els vostres scripts amb normalitat.
Què és exactament l'intèrpret de Python i com fer-lo servir
Una de les millors maneres d' entendre de debò com funciona Python és arrencar l'intèrpret interactiu i escriure-hi codi directament. L'intèrpret és un programa que llegeix les instruccions línia a línia, les executa al moment i et mostra el resultat. A Windows, el més habitual és obrir PowerShell o CMD i escriure:
python o python3
Si tot va bé, veureu una cosa semblant a una capçalera amb la versió de Python i, a continuació, un símbol d'invitació com >>> . És el senyal que ets dins de l'intèrpret i pots començar a provar coses molt simples : assignar valors, fer sumes, jugar amb cadenes, etc.
Per exemple, podries escriure alguna cosa com: a = 6 i després, a la següent línia, simplement posar a . L'intèrpret imprimirà el valor emmagatzemat en aquesta variable, en aquest cas 6. També pots redefinir aquesta variable sense cap problema, per exemple fent a = 'hola', i després utilitzar funcions com a len(a) per veure quants caràcters té la cadena.
Aquesta forma de treball és perfecta per experimentar i respondre preguntes ràpides de l'estil “què passa si sumo un número a una llista?” o “què passa si concaten una cadena amb un sencer?”. Si intentes alguna cosa que no té sentit, com fer 'hola' + 3, l'intèrpret et mostrarà un error explicant què va sortir malament (per exemple, un TypeError indicant que no es pot concatenar str amb int). I si t'equivoques de nom i escrius una variable que mai no vas definir, rebràs un NameError avisant que aquest identificador no està definit.
Quan vulguis sortir de l'intèrpret al Windows, pots fer servir la combinació CTRL+Z seguida d'Enter , o també escriure exit() o quit(). Així tornaràs a la línia d'ordres de Windows i podràs seguir amb altres tasques, com executar scripts desats en fitxers .py.
Escriure el teu primer programa: arxius .py i execució a Windows
A més de jugar a l'intèrpret, tard o d'hora voldràs desar el teu codi Python en fitxers per reutilitzar-lo, compartir-lo o executar-lo amb diferents arguments. Els programes de Python se solen guardar en fitxers amb extensió .py i es coneixen com a mòduls. Per exemple, podeu crear un fitxer anomenat hello.py amb qualsevol editor de text decent (VS Code, Notepad++, etc.).
Dins d'aquest fitxer, podeu escriure un petit programa que rebi un argument de la línia d'ordres i el feu servir, per exemple:
importar sistemes
def main():
print('Hola,', sys.argv)
if __name__ == '__main__':
main ()
En aquest esquema, importeu el mòdul sys per accedir a sys.argv , que és la llista d'arguments que passeu al programa des de la consola. El primer element (índex 0) és el nom de l'script, ia partir de l'índex 1 apareixen els valors que heu indicat. La funció main() imprimeix una salutació seguida de l'argument que us passis.
Per executar aquest fitxer al Windows, obre una consola, situa't a la carpeta on vas guardar hello.py (usant l'ordre cd) i escriu alguna cosa com: python hello.py Ana . Si tot està ben configurat, veuràs el missatge “Hola, Ana” a la pantalla. Aquest exemple tan senzill ja et permet entendre com Python interpreta un fitxer .py de dalt a baix , com importes mòduls i com acciones la lògica principal amb aquest patró tan usat de if __name__ == '__main__'.
Python com a llenguatge: dinàmic, interpretat i flexible
Python és un llenguatge dinàmic, interpretat i molt flexible . Això significa que no declares tipus de variables de forma rígida com a Java o C++: no has d'escriure si alguna cosa és int, string o bool en definir-ho; simplement dónes un valor i l'intèrpret s'encarrega de gestionar el tipus en temps d'execució.
Aquesta flexibilitat fa que el codi sigui més curt i, en molts casos, més fàcil de llegir i escriure . Pots utilitzar la mateixa variable a per guardar primer un número i després una cadena, i Python no es queixarà mentre les operacions que facis tinguin sentit. Això sí, renuncies a la verificació de tipus en temps de compilació, així que alguns errors es descobreixen només quan l'execució arriba a aquesta línia concreta.
Per exemple, si teniu una funció main() que, en cert cas, anomena una altra funció mal escrita (com repeeeet en lloc de repeat), Python no s'assabenta de la fallada fins que en temps d'execució s'arriba a aquesta línia i s'intenta invocar el nom incorrecte. Mentre no s'executi aquest camí del codi, pot semblar que el programa funciona perfectament. El mateix passa amb una variable que no es va inicialitzar mai: només quan s'intenta llegir el seu valor, l'intèrpret llança un NameError.
Al món de Python 3 es van afegir les anomenades “suggeriments de tipus” o type hints , que permeten anotar els arguments i valors de retorn de les funcions amb tipus esperats, per exemple def es_positiu(n: int) -> bool:. Aquestes anotacions són completament opcionals, però permeten que editors avançats com VS Code o eines d'anàlisi estàtica verifiquin les trucades i t'alertin si alguna cosa no quadra amb el tipus indicat.
Encara que aquest article no entra a fons en els suggeriments de tipus, convé saber que existeixen i que cada cop més projectes moderns de Python els adopten. Si voleu desenvolupar codi robust a gran escala, és una ajuda molt interessant, especialment en equips on diverses persones toquen els mateixos mòduls.
Funcions a Python: docstrings, operadors i bones pràctiques
A Python, les funcions es defineixen amb la paraula clau def , seguida del nom, els paràmetres entre parèntesis i els dos punts. El cos de la funció va sagnat (indentat) amb espais. Un exemple típic seria una funció que repetix una cadena diverses vegades i, opcionalment, afegeix signes d'exclamació.
Una cosa així podria quedar, de forma conceptual, com una funció repeat(text, exclamació) que construeix un resultat concatenant diverses vegades l'argument text. A l'interior podries fer servir l'operador + per unir cadenes o l'operador * per repetir-les un cert nombre de vegades. Per exemple, 'hola' * 3 produeix 'holaholahola', mentre que '-' * 10 genera una mena de línia de separació: '———-'.
En termes de rendiment, se sol comentar que fer servir l'operador * per repetir cadenes pot ser una mica més eficient que concatenar diverses vegades amb +, perquè la mida del resultat es calcula una única vegada en lloc d'anar creixent passet a passet. En programes petits d'aprenentatge no ho notaràs, però convé conèixer aquest detall perquè forma part del disseny del llenguatge.
Una altra particularitat interessant són els docstrings , les cadenes de documentació que poden anar just a l'inici de la definició d'una funció. Se solen escriure amb cometes triples («»» … «»)) per permetre diversos paràgrafs, i expliquen què fa la funció, quins arguments rep i què torna. Aquestes descripcions són les que help() mostrarà més endavant quan vulgueu veure la documentació de la vostra funció.
Dins d'una funció, les variables que declareu són locals a aquesta funció, la qual cosa vol dir que no interfereixen amb variables del mateix nom fora o en altres funcions. El valor que vulguis tornar al cridador s'especifica amb la sentència return, que pot anar acompanyada de la dada a tornar. Si no poseu return o en truqueu sense valor, la funció torna None.
Un patró molt habitual és definir diverses funcions auxiliars i, gairebé al final del fitxer, crear una funció main() que orquestra lús de les altres. Després, a la part inferior, col·loques el bloc típic if __name__ == '__main__': main(), que s'encarrega d'invocar aquesta funció principal només quan el fitxer s'executa directament, i no quan s'importa com a mòdul des d'una altra part.
La importància de la sagnia a Python (i per què evitar les tabulacions)
Una de les característiques que més sorprèn als que vénen d'altres llenguatges és que la sagnia a Python no és decorativa, és sintaxi . No es fan servir claus {} per delimitar blocs de codi, sinó el nivell d'indentació: totes les línies que comparteixen el mateix bloc (una funció, un if, un bucle, etc.) han de tenir exactament la mateixa sagnia.
Si una sola línia d'un bloc té un nombre d'espais diferent , l'intèrpret considerarà un error de sintaxi. Per això s'insisteix tant a configurar bé l'editor per fer servir espais en lloc de tabulacions. Les tabs poden interpretar-se amb una amplada diferent en diferents editors o sistemes, cosa que provoca desajustos visuals i errors molt difícils de localitzar.
La guia d'estil oficial de Python (PEP 8) recomana utilitzar 4 espais per nivell de sagnia . Algunes organitzacions, com Google a les seves guies internes, fan servir 2 espais en determinats contextos, però si estàs començant et convé quedar-te amb els 4 espais, que és l'estàndard més estès.
Encara que al principi sembli estrany que l'espai en blanc tingui tanta importància, amb el temps s'agraeix: obliga que el codi estigui sempre ben alineat, millora la llegibilitat i evita blocs caòtics plens de claus soltes. Si treballes a Windows amb un bon editor (Visual Studio Code, per exemple), només cal configurar “inserir espais” en prémer Tab i potser activar l'ajust automàtic de format per oblidar-te del tema.
En definitiva, prestar atenció a la sagnia des del primer moment t'estalviarà molts errors ximples i missatges críptics de sintaxi . Si mai veus un IndentationError, ja saps que toca revisar els espais a l'inici de les línies.
Noms de variables, espais de noms i mòduls
A Python no declares el tipus de les variables, així que els noms que triïs són la teva millor documentació . Posar a, b, c per a tot està bé en un exemple curt, però quan el teu codi creix, és molt més útil fer servir noms com a nom, noms, llista_de_tuples, comptador, etc. Això us ajuda a recordar quin tipus de dada esperes a cada variable i redueix el nombre d'errors bàsics.
La convenció més habitual a Python per a les variables i funcions és utilitzar minúscules_amb_guions_baixos (el que s'anomena snake_case). Alguns llenguatges prefereixen camelCase, i en casos on t'integres amb codi ja existent que faci servir aquest estil, pot tenir sentit imitar-lo. Però si comences des de zero, la comunitat de Python sol recomanar guions baixos per millorar la claredat de lectura.
Heu d'evitar utilitzar com a variables les paraules clau del propi llenguatge (if, while, for, class, etc.), perquè l'intèrpret el marcarà com a error de sintaxi. Tanmateix, també convé no reutilitzar noms de funcions integrades com print, list o str, ja que les trepitjaries dins del teu àmbit i podries provocar comportaments rars. Per exemple, si defineixes una variable anomenada list, després no podràs utilitzar la funció integrada list() sense abans esborrar o reanomenar la teva variable.
Pel que fa a l'organització del codi, cada fitxer .py actua com un mòdul amb el seu propi espai de noms . Això vol dir que si teniu un fitxer anomenat utilitats.py amb una funció processar(), el vostre nom complet seria utilitats.processar. Això evita conflictes amb altres funcions processar definides en altres mòduls diferents: cada fitxer manté el seu petit món didentificadors.
Quan importeu un mòdul estàndard com sys amb import sys , totes les seves funcions i variables passen a estar disponibles sota aquest prefix: sys.argv, sys.exit(), etc. Existeix també la forma from sys import argv, exit, que et permet fer servir argv i exit() directament sense el prefix, però se sol recomanar la versió amb el nom complet perquè ajuda a entendre d'on ve cada símbol i evita confusions quan uses diversos mòduls alhora.
Python porta una biblioteca estàndard força àmplia que s'instal·la juntament amb l'intèrpret. Alguns dels mòduls més utilitzats són sys (utilitats del sistema i arguments de línia d'ordres), re (expressions regulars), us (accés al sistema de fitxers i funcions del sistema operatiu), entre molts altres. Tota aquesta biblioteca està documentada de manera exhaustiva a la web oficial docs.python.org.
Errors en temps d'execució i com aprendre'n
Per la naturalesa dinàmica de Python, moltes comprovacions es posposen fins al moment que s'executa cada línia. Cela implica que veuràs algunes fallades únicament en temps d'execució : noms mal escrits, variables no inicialitzades, tipus incompatibles, etc. Al principi pot fer ràbia, però aviat t'acostumes a llegir i entendre els missatges d'error.
Un cas típic és el d'una funció que, en una branca determinada d'un if, anomena un nom de funció que no existeix. Mentre aquesta branca no s'executi, Python no es queixarà. En el moment exacte que s'arribi a la línia errònia, llançarà un NameError advertint que aquest identificador no està definit. Una cosa molt semblant passa si compares una variable que mai no es va inicialitzar: el llenguatge detectarà el problema just quan intenta avaluar aquesta expressió.
Si veniu de llenguatges més estrictes, potser trobareu a faltar que el compilador avisi abans. A Python, l'enfocament és diferent: més llibertat en escriure i menys rigidesa en la compilació , a canvi que el programador hagi de donar suport a aquesta flexibilitat amb proves, bones eines i, si vol, anotacions de tipus per reduir errors.
La part positiva és que, precisament per aquesta agilitat, Python es presta molt bé a aprendre mitjançant prova i error . L‟intèrpret interactiu, els scripts curts i els missatges clars d‟error fan que puguis anar corregint el codi amb rapidesa. A poc a poc aniràs desenvolupant l'hàbit d'executar petites parts del programa per assegurar-te que cada peça funciona abans de complicar la següent.
Al Windows, una bona estratègia és obrir una consola, anar executant els teus scripts i, si alguna cosa falla, llegir amb calma la traça que mostra Python . En la majoria dels casos, el missatge indica no només el tipus d'error, sinó també la línia i el fitxer exactes on es va produir, cosa que resulta molt útil per diagnosticar i corregir ràpidament.
Ajuda integrada i recursos per seguir aprenent Python al Windows
A més de la documentació oficial i dels cursos estructurats, Python inclou eines d'ajuda directament al propi intèrpret . Dues de les més valuoses per a qui comença són help() i dir(). Totes dues us permeten tafanejar què fa cada funció, mòdul o mètode sense sortir de l'entorn de Python.
Per exemple, si voleu saber com funciona la funció integrada len(), podeu escriure help(len) a l'intèrpret. O si heu importat el mòdul sys amb import sys, podeu trucar a help(sys) per llegir la documentació d'aquest mòdul, ia dir(sys) per veure la llista de tots els seus atributs disponibles (variables, funcions, etc.).
També podeu demanar ajuda sobre mètodes d'objectes específics. Per exemple, 'text'.split us permet accedir al mètode split d'una cadena i, si feu help('text'.split) , veureu la descripció de com dividir cadenes en llistes segons un separador. De manera equivalent, help(str.split) us mostrarà la mateixa informació, ja que es tracta del mateix mètode definit a la classe str.
De la mateixa manera, help(list) i dir(list) per descobrir com funcionen les llistes a Python, veure quins mètodes tenen (append, extend, sort, etc.) i després aprofundir en cadascun amb help(lista.append), per exemple. És una manera excel·lent d'aprendre fent, sense dependre únicament de manuals externs.
Fora de l'intèrpret, tens molts recursos de qualitat: la documentació oficial a docs.python.org, cursos en plataformes com Microsoft Learn, Coursera o Udacity , i tutorials interactius que et permeten programar des del navegador amb un intèrpret embegut. Google, per exemple, ofereix un curs introductori basat en material intern que cobreix Python 3 i va des dels fonaments fins a temes més avançats.
Si prefereixes una experiència sense vídeos i al teu ritme, hi ha tutorials online que combinen teoria i exercicis pràctics al mateix entorn. A més, comunitats com StackOverflow, llistes de correu especialitzades o fòrums d'aprenentatge et poden servir de suport quan t'embussis amb algun detall concret en treballar a Windows.
Tot aquest ecosistema fa que, una vegada resolta la part inicial d'instal·lació i configuració a Windows, continuar creixent com a programador o analista de dades a Python sigui més una qüestió de constància que de manca de recursos. Per exemple, si el vostre objectiu és treballar amb dades, podeu aprofundir en bases de dades amb guies específiques.
Després de familiaritzar-te amb l'intèrpret, els scripts .py, la gestió d'arguments, la sagnia i les funcions, veuràs que aprendre Python a Windows deixa de ser una carrera d'obstacles tècnics per convertir-se en un procés força fluid en què, amb cada petit avenç, guanyes confiança i t'animes a abordar problemes més complexos.