Python

El primer recurs per aprendre Python és el Tutorial de Python.org i és el que seguirem en aquesta activitat.

Números

A Numbers s'expliquen les operacions aritmètiques.

Les CPUs operen amb dos tipus de números: enters (int) i reals (float), i tenen circuits específics per a cada tipus.

Les operacions amb nombres enters (int) són més ràpides i els números reals (float) tenen problemes de precisió.

Per exemple un 2 és un int i un 2.0 és un float.

Podem distingir un int dʻun float perquè el float sempre té un . alguna cosa.

Els operadors +, -, * i / s'utilitzen per realitzar operacions aritmètiques.

Si sumem dos números int el resultat és un int tal com pots veure a continuació:

>>> 2 + 2
4

Però si sumem un int amb un float el resultat sempre és un float encara que es pugui representar amb un int:

>>> 2 + 2.0
2.0

Python no es complica la vida, i no t'ha de sorprendre que el resultat d'una divisió sigui un float encara que sigui entre dos int i el resultat es pugui representar amb un int:

>>> 2 / 2
1.0

Si només voleu la part sencera d'una divisió utilitzeu l'expressió // i si voleu la resta l'expressió %:

>>> 8 / 6
1.3333333333333333
>>> 8 // 6
1
>>> 8 % 6
2

Per calcular potències utilitzeu l'operador **:

>>> 2 ** 2
4
>>> 2 ** 4
16

Amb l'ús de parèntesis () pots agrupar operacions per especificar un ordre explícit per resoldre-les:

>>> 2 + 3 * 4
14
>>> (2 + 3) * 4
20

Hi ha llenguatges en què tant els int com els float poden tenir mides diferents i afecta la seva representació en memòria, però en propi llenguatge Python no aporta res perquè d'aquest aspecte ja se n'encarreguen les llibreries en C que s'utilitzen, com per exemple Numpy.

Variables

Una variable és un nom que ens permet referenciar una adreça de la memòria de lordinador on hi ha una dada.

Per exemple, podeu utilitzar la variable x per referenciar el valor 5:

>>> x = 5
>>> x
5

Amb la funció id() podem saber la direcció de memòria que emmagatzema la variable x — en el teu cas la direcció serà diferent!:

>>> id(x)
139972768840912

El nom de la variable us permet indicar a Python que utilitzi la dada que fa referència a la variable:

>>> x + 3
8
>>> x - 3
2

I per què en diem variable? Perquè en qualsevol moment pots modificar l'adreça de memòria que fa referència a la variable:

>>> x = 50
>>> id(x)
139972787963664

Si repetim les operacions anteriors amb la variable x el resultat serà diferent:

>>> x = 10
>>> x + 3
13
>>> x - 3
7

Fixa't que parlem d'adreces de memòria!

Dues adreces de memòria poden contenir una dada idèntica: ERROR

>>> id(20)
139972787962704
>>> y = 20
>>> id(y)
139972787962704

A Python una variable pot guardar qualsevol tipus de dada:

>>> x = 2
>>> x
2
>>> x = 6.9
>>> x
6.9

Pots veure que una variable es pot desar de manera indistinta int i float.

Text

A més a més de números, l'altre element bàsic en un llenguatge de programació és el text (str) o "string".

Un str és qualsevol text entre comes simples '...' o comes dobles "..." (són el mateix):

>>> 'hello'
'hello'
>>> "hello"
'hello'
>>>

Escoje la opción ' o ", y utiliza tu elección de manera consistente PEP-8 - Style Guide for Python Code.

Imprimir per pantalla.

Per imprimir per pantalla textos, variables; o una combinació d'ambdós utilitzem el mètode print:

>>> print("Hello World!")
Hello World!

Hello World!

>>> s = "Hola Mundo. \n ¿Que tal estas?"
>>> print(s)
Hola Mundo. 
¿Que tal estas?

Les tècniques més habituals per imprimir variables i text a Python són:

Raw Strings No interpreta els càracters de ESCAPE.
>>> r = r"Hola Mundo.\n¿Que tal estàs?"
>>> print(r)
Hola Mundo.\n¿Que tal estàs?
Format Strings. Van be per imprimir variables
name = "David"
name2 = "Miquel"
print("Hello " + name + " and hello " + name2)
frase_format = f"Hello {name} and hello {name2}"
print(frase_format)
> Hello David and hello Miquel
> Hello David and hello Pablo

Entrada de dades per pantalla.

Ara, imaginen-nos que volem agafar el nom d'un usuari des del terminal. Ho fem amb l'instrucció input.

str1 = input("Enter username")
print('Welcome user:', str1)

Si en volem agafar 3 a la vegada, ho podem fer amb aquest codi:

str1, str2, str3 = input("Enter three string").split()
print('Name1:', str1)
print('Name2:', str2)
print('Name3:', str3)

Si vens de Java, una altra cosa que t'impactarà de Python és que pots tenir funcions que retornin més d'un resultat de sortida. L'ús de la funció split l'estudiarem més endavant.

Exercicis resolts.

Si necessites reforçar algún aspecte tens un llistat d'exercicis amb solució, per autoavaluar el teu aprenentatge: Pynative

Recursos