image/svg+xml
Py
Ar
NĂºmeros>>> 2+24>>> (50 - 5*6) / 45>>> 2309874209847209 * 120894739279251639722309561933451>>> 3 * 3.75 / 1.57.5>>> (2+3j) * (8-4j)(28+16j)Cadenas>>> 'Secuencia de caracteres''Secuencia de caracteres'>>> "Hola" + " mundo"'Hola mundo'>>> "Eco " * 4'Eco Eco Eco Eco '>>> saludo = 'Hola mundo'>>> saludo[0], saludo[-2]('H', 'd')>>> saludo[2:5]'la 'Listas>>> a = [100, 'huevos', 'sal']>>> a[100, 'huevos', 'sal']>>> a[0]100>>> a[-2:]['huevos', 'sal']>>> a + ['oro', 9][100, 'huevos', 'sal', 'oro', 9]>>> a[0] = "manteca">>> a['manteca', 'huevos', 'sal']Conjuntos>>> f = set("abracadabra")>>> fset(['a', 'r', 'b', 'c', 'd'])>>> f & set(['a','e','i','o','u'])set(['a'])
Diccionarios>>> dias = {"Ene": 31, "Jul": 30}>>> dias{'Ene': 31, 'Jul': 30}>>> dias["Ene"]31>>> dias["Ago"] = 31>>> dias["Jul"] = 31>>> dias{'Ago': 31, 'Ene': 31, 'Jul': 31}>>> "Mar" in diasFalse>>> dias.keys()(['Ago', 'Ene', 'Jul']>>> dias.values()[31, 31, 31])ifif <expresion>: <suite>elif <expresion>: <suite>else: <suite>Una <expresion> es algo que evalĂºa siempre a Verdadero o FalsoOperadores lĂ³gicos: or, and, notComparadores: < > == != in isUna <suite> es un bloque de cĂ³digo, de una o mĂ¡s lineas, delimitado por la sangrĂa.whilewhile <expresion>: <suite>for>>> bichos = ["pulgas", "piojos"]>>> for bich in bichos:... print "Mata-" + bich...Mata-pulgasMata-piojos
List comprehensions>>> vec = [3, 7, 12, 0, 3, -13]>>> [x**2 for x in vec][9, 49, 144, 0, 9, 169]>>> [x**2 for x in vec if x <= 7][9, 49, 0, 9, 169]Excepciones>>> 5 / 0Traceback (most recent call last): File "<stdin>", line 1, in ...ZeroDivisionError: int ... by zero>>> try:... 5 / 0... except ZeroDivisionError:... print "oops!"... oops!try: <suite>except [Excepcion1, ...]: <suite>finally: <suite>else: <suite>Si hay una excepciĂ³n en la suite del try, se ejecuta la suite del except. Si no hubo ninguna excepciĂ³n, se ejecuta la suite del else. Y siempre se ejecuta la suite del finally.>>> raise ValueError("Ejemplo!")Traceback (most recent call last): File "<stdin>", line 1, in ...ValueError: Ejemplo!Funciones>>> def alcuadrado(n):... res = n ** 2... return res...>>> alcuadrado(3)9
>>> def func(a, b=0, c=7):... return a, b, c...>>> func(1)(1, 0, 7)>>> func(1, 3)(1, 3, 7)>>> func(1, 3, 9)(1, 3, 9)>>> func(1, c=9)(1, 0, 9)>>> func(b=2, a=-3)(-3, 2, 7)Clases>>> class Posicion:... def __init__(self, x, y):... self.x = x... self.y = y... def distancia(self):... x = self.x**2 + self.y**2.. return math.sqrt(x)...>>> p1 = Posicion(3, 4)>>> p1.x3>>> p1.dist()5.0>>> p2 = Posicion(7, 9)>>> p2.y9>>> p1.y4MĂ³dulos- Funciones, clases, y/o cĂ³digo suelto, todo en un archivo- Es un .py normal, sĂ³lo lo importamos y directamente lo usamos- FĂ¡cil, rĂ¡pido, ¡y funciona!Armamos un pos.py que contiene la clase definida arriba:>>> import pos>>> p = pos.Posicion(2, 3)>>> p.x2
Un micro tutorial de Python
ProgramĂ¡ en ...
En PyAr te vamos a ayudar:
Python Argentinahttp://www.python.com.ar
Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren't special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitly silenced.In the face of ambiguity, refuse the temptation to guess.There should be one-- and preferably only one --obvious way to do it.Although that way may not be obvious at first unless you're Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is hard to explain, it's a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea -- let's do more of those!
por Tim Peters
El Zen de Python
¡Dejate atrapar!
¿La serpiente te asusta?
Py
Ar
O entrĂ¡ al chat:#pyar (irc.freenode.org)
Suscribite a la lista de correo:pyar-subscribe@decode.com.ar