Some Python Basics

Una mica de recopilació del Show & Tell de Python en format breu

Oriol Alfonso
Calidae Blog
3 min readJul 26, 2017

--

“Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers,” said Cuong Do, Software Architect, YouTube.com.

Easter eggs:

La comparació entre objectes de diferents tipus es fa entre els dos strings resultants de la funció type():

Intercanvi de variables (per no haver de crear una tercera temporal)

Lists comprehensions:

Generators: no guarden tot el llistat en memòria:

Operador ternari:

Lists slicing: [start:end:step] (no són obligatoris els 3 paràmetres)

Reverse list:

Comprovació si hi ha un element en un iterable:

Variable “_” com a “don’t care”, quan s’ha d’assignar una variable però no es farà servir:

for i while també té else que s’executa sempre que acabi el loop de manera natural (sense un break).

Try i except també tenen else que s’executa quan no salta l’except. També hi ha finally, que s’executa sempre.

Data Structures

Llista (ordered & mutable):

Tupla (ordered & inmutable):

Dict (assoc array & unordered):

Set (unordered, utilitzat per operacions com les següents):

Classes

  1. Quan un mètode és d’instància hereda self però no cal que es digui self, se’n pot dir com es vulgui pero està “mal vist”.
  2. Diferenciació entre variables de clase/instancia, les de clase les comparteixen totes les instàncies.
  3. Redefinició de mètodes de classe de manera dinàmica:
  • Variables per valor: int, float, bool, str… (inmutable objects) variables per refèrencia: list, dict, set (mutable objects)
  • Quan es “canvia” el valor d’un objecte inmutable el que es fa es crear un nou objecte (per veure l’id de l’objecte: id(x)):

I fins aquí! Tot això no deixen ser uns apunts en “brut” d’algunes de les coses interessants que ofereix Python per fer-nos la vida més fàcil i agradable :)

--

--