====== Sintaxis ======
Python se basa en la tabulación. no tiene corchetes para delimitar el contenido de los bloques condicionales ni funcionales, sino que lo detecta automáticamente por la profundidad de las tabulaciones.
===== Condicionales =====
==== in ====
a = [1,2,3,4]
2 in a
True
b = {"pepe":"hola", 2:50, 8000:[1,2]}
"pepe" in b
True
b.__contains__("pepe")
True
==== if ====
No es tan abstracto como en PHP, que si el valor interno de un if es negativo salta, se le ha de especificar TRUE o FALSE a la fuerza. Por ejemplo, suele ocurrir que si no eneuntra una cadena devuelve "-1" y nos confiamos de que eso es FALSE. En Python no ocurre lo mismo:
if( href.find('external_click') >= 0 ):
answer = "externo"
else:
answer = href
=== Ejemplo: Generación automática de una lista según la longitud del string ===
== Solución 1 ==
a = ["pepe", "a", "abc", "abcde"]
b= []
for i in a:
... if len(i) % 2 == 1:
... b.append(i)
...
print b
['a', 'abc', 'abcde']
== Solución 2 ==
a = ["pepe", "a", "abc", "abcde"]
b = [i for i in a if len(i) % 2 == 1]
print b
['a', 'abc', 'abcde']
# también se puede realizar duirectamente una operación al elemento al introducirlo:
a = ["pepe", "a", "abc", "abcde"]
b = [i.upper() for i in a if len(i) % 2 == 1]
print b
['A', 'ABC', 'ABCDE']
===== Funciones =====
def nombre_funcion (param1, param2=8, param3="hola"):
if a == True:
return b,c
None es un tipo de dato que no está definido.
Todas las funciones en Python devuelven algo. Si llamamos a una función sin return, devuelve None
===== Otros =====
lista[::2] # nos los da de 2 en 2 empezando desde 0
"hola"*3 # "holaholahola"
===== Tutoriales completos =====
http://www.sthurlow.com/python/lesson01/ \\
http://www.astro.ufl.edu/~warner/prog/python.html \\
http://diveintopython.org \\
http://es.diveintopython.org/toc.html \\
http://mundogeek.net/tutorial-python/ \\