====== 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/ \\