Python

Python



  • Administracion de memoria
  • large and comprehensive standard library.
  • multi platform

Python

Pep

(Python Enhancement Proposal)



The PEP process is the primary mechanism for proposing major new features, for collecting community input on an issue, and for documenting the design decisions that have gone into Python.

PEP 8


Style Guide for Python Code



PEp 20

The Zen of Python


  1. Beautiful is better than ugly.
  2. Explicit is better than implicit.
  3. Simple is better than complex.
  4. Complex is better than complicated.
  5. Flat is better than nested.
  6. Sparse is better than dense.
  7. Readability counts.
  8. Special cases aren't special enough to break the rules.
  9. Although practicality beats purity.
  10. Errors should never pass silently.
  11. Unless explicitly silenced.
  12. In the face of ambiguity, refuse the temptation to guess.
  13. There should be one-- and preferably only one --obvious way to do it.
  14. Although that way may not be obvious at first unless you're Dutch.
  15. Now is better than never.
  16. Although never is often better than *right* now.
  17. If the implementation is hard to explain, it's a bad idea.
  18. If the implementation is easy to explain, it may be a good idea.
  19. Namespaces are one honking great idea -- let's do more of those!

Python

Implementaciones:


CPython


Java -> Jython

PyPy -> Python

Dot Net -> IronPython


Cython -> C

Javascript -> Brython

List -> CLPython

PyMile -> dispositivos embebidos




Python

Ventajas

Python

Tipos de datos basicos


  • Numeros:
    • Entero -> 3
    • Coma Flotante(Float) -> 3.5
    • Numeros Complejos -> 3j
  • Cadenas
    • ''
    • ""
    • """"""
  • Booleanos (True,False)

Python

Operadores Boleanos


Operador Ejemplo
And Ejemplo
Or Not
== Ejemplo
!= Ejemplo
< Ejemplo
> Ejemplo
<= Ejemplo
>= Ejemplo

Python

Colecciones

Listas -> []

  • La lista es un tipo de colección ordenada
    • [22, True, “una lista”, [1, 2]]
    • [0   , 1        , 2                    ,3]
  • Las listas pueden contener cualquier tipo de dato
    • [22, True, “una lista”, [1, 2]]
  • Se pueden acceder a cualquier valor escribiendo el nombre de la variable y el indice
    • l = [11, False]
    • l[0] # 11
  • Comienzan por 0
  • Los indices pueden ser negativos
    • l = [22, True, “una lista”, [1, 2]]
    • l[-1] # [1,2]
    • l[-2] # "una lista"
  • slicing o particionado
    • consiste en ampliar este mecanismo para permitir seleccionar porciones de la lista
    • (inicio:final:salto)
      • l = [1,2,3,4,5,6]
      • l[:4] #[1,2,3,4]
      • l[::2] #[1,3,5]
      • l[:] # [1,2,3,4,5,6]


    Tuplas -> ()


    • Son inmutables (no pueden ser alteradas despues de creadas)
    • Ademas de anterior su comportamiento es idéntico a de las listas

    Diccionarios -> {}


    • Son colecciones que relacionan una clave y un valor
      • {“Love Actually “: “Richard Curtis”,“Kill Bill”: “Tarantino”,}
    • Para acceder a sus valores se usan la clave
      • d[“Love Actually “] # devuelve “Richard Curtis”

    Python

    Sentencias condicionales


    • if ... else
      • if num == 1:
        • print "whtever"
      • else:
        • print "not"
    • if ... elif ... elif ... else
      • if num == 1:
        • print "whtever"
      • elif num ==2:
        • print "whtever2"
      • else:
        • print "not"
    • A if C else B
      • var = “par” if (num % 2 == 0) else “impar”

    Python

    Bucles


    • While
      • edad = 0
      • while edad < 18:
        • edad = edad + 1
        • print “Felicidades, tienes “ + str(edad)
    • For .. in
    • secuencia = [“uno”, “dos”, “tres”]
    • for elemento in secuencia:
      • print elemento

    Python

    Funciones


    def mi_funcion(param1, param2):

    args


    def mi_funcion(param1, param2, *args):

    kwargs


    def mi_funcion(param1, param2, *kwargs):

    Python

    Objectos


    • Un objeto es una entidad que agrupa un estado y una funcionalidad relacionadas.
    • Los objectos en python se crean:
      • a = Clase(variables.....)

    Clases



    • Una clase, no es más que una plantilla genérica a partir de la cuál instanciar los objetos; plantilla que es la que define qué atributos y métodos tendrán los objetos de esa clase.
     class Coche:
    “””Abstraccion de los objetos coche.”””
    def __init__(self, gasolina): #contructor
    self.gasolina = gasolina
    print “Tenemos”, gasolina, “litros”
    def arrancar(self):
    if self.gasolina > 0:
    print “Arranca”
    else:
    print “No arranca”
    def conducir(self):
    if self.gasolina > 0:
    self.gasolina -= 1
    print “Quedan”, self.gasolina, “litros”
    else:
    print “No se mueve”

    Herencia

    Python

    By Leonardo Fabio Orozco Padilla