SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Python: Programación de Verdad
              Jorge Luis Hernández C
                           @lesthack


                 lesthack@gmail.com
               http:lesthack.com.mx
Python: Programación para Machos
               Jorge Luis Hernández C
                            @lesthack


                  lesthack@gmail.com
                http:lesthack.com.mx
Mitos sobre la Programación:
●   La programación es una de las habilidades
    técnicas más difíciles.
    ●   Programar es como hablar un lenguaje nuevo, solo
        que mucho mas limitado y reglamentado.
●   Lo hacen chicos jóvenes socialmente
    ineptos y en total aislamiento, casi siempre
    de noche
        ¿Quien se identifico...?
Mitos sobre la Programación:
●   La programación es algo que no ayuda a la
    gente.
    ●   Vale, puedes resolver modelos matemáticos a
        mano si tu quieres.
●   Los lenguajes interpretados no son
    eficientes
    ●   La eficiencia la de el programador.
Que SI es y que NO es esta platica
●   Que no es:
    ●   No es un Curso rápido de Python.
    ●   Ni mucho menos un taller de este.
    ●   No es una excusa para que faltes a tus clases.
●   Que si es:
    ●   Una oportunidad de aprender un lenguaje nuevo.
    ●   Una simple charla de cuates que les relata mi
        experiencia con python.
    ●   Una posible inspiración de aprendizaje y
        emprendimiento en proyectos nuevos.
¿ Por que es interesante aprender Python ?
●   Es un lenguaje muy sencillo.
●   Quieres facilitarte la vida.
●   Por que se lleva bien con todos.
●   Por que quieres impresionar al profesor.
●   Por que cuando quieras pasarle la tarea a alguien, este no
    le entienda absolutamente nada.
Ya enserio, ¿de que va esto?

Lenguaje Maduro (~19 años)
●



    ●   Diseño elegante y robusto

    ●   Evoluciona

Fácil de Aprender
●



    ●   Se lee como pseudo-codigo

    ●   Sintaxis legible y expresiva
Ya enserio, ¿de que va esto?
●   Portable y Multiplataforma
    ●   Windows
    ●   Mac
    ●   Unix
    ●   Linux
Características Sustanciales
●   Multiparadigma
    ●   Objetos
    ●   Procedural
    ●   Modular
    ●   Aspectos
Características Sustanciales
●   Tipado Dinámico y de Conteo de Referencias
●   Interpretado
●   Interactivo
●   Es Software Libre y Open Source
●   Viene con las baterías incluidas
Propiedades
●   Compilación a Bytecode
    ●   Implícita
    ●   Automática
●   Tipos de datos de alto nivel
    ●   Númericos sin límites
●   ¿ Arreglos ? Naaah !!
    ●   Listas
    ●   Diccionarios
    ●   Tuplas
    ●   Conjuntos
¿De quién fue la idea?
●   Python fue publicado en 1991 por
    Guido Van Rossum.
    ●   Conocido como el Benevolente
        Dictador Vitalicio
    ●   Actualmente la versión estable es 2.7
    ●   Reciente publicación de la versión 3.2
    ●   Publicada bajo la licencia Python
        Software Foundation License
        compatible con GPL.
Pero pues, ¿Quién usa Python?
Ok.
pero queremos ver
      acción
El típico ejemplo baboso de
              “Hola mundo”
Python:
          print “hola mundo”


 Java:
          public class Main{
            public static void main(String args[]){
                System.out.println("Hola mundo");
            }
          }
Aprendiendo Python Básico de jalón


●   Entradas/Salidas   ●   Estructuras

●   Tipos Datos        ●   Funciones
Aprendiendo Python Básico de jalón
●   Entradas/Salidas

        #! /usr/bin/env python

        entrada = raw_input(“Dame un núnero: ”)
        print “Tu número es el: %d ” % entrada
Aprendiendo Python Básico de jalón
   ●   Tipos de Datos
       ●   Recuerda, su tipado es dinámico

numero = 10                                            10 <type 'int'>
print numero, type(numero)                             10 <type 'str'>
                                                       El codigo ascii de la F es: 70 <type 'str'>
numero = "10"                                          12312.12 <type 'float'>
print numero, type(numero)

cadena = 'El codigo ascii de la F es: %d' % ord("F")
print cadena, type(cadena)

flotante = 12312.12
print flotante, type(flotante)
Aprendiendo Python Básico de jalón
●   Tipos de Datos
     ●   Recuerda, todo es un objeto

print "cadena separada por espacios".split(" ")   ['cadena', 'separada', 'por', 'espacios']

tupla = (1,2,5,9)
print tupla                                       (1, 2, 5, 9)

diccionario = {"Manzana":"Roja",
               "Limon":"Verde",
              "Mango":"Amarillo"}
print diccionario["Manzana"]                      Roja
del diccionario["Manzana"]                        {'Limon': 'Verde', 'Mango': 'Amarillo'}
print diccionario
Aprendiendo Python Básico de jalón
●   Tipos de Datos
    ●   Recuerda, todo es un objeto

    lista = ["debian","ubuntu","fedora"]
    print lista                            ['debian', 'ubuntu', 'fedora']
    lista.append("archlinux")
                                           ['debian', 'ubuntu', 'fedora', 'archlinux']
    print lista
    lista.remove("ubuntu")
    print lista                            ['debian', 'fedora', 'archlinux']

    print lista.pop()                      archlinux

    print lista                            ['debian', 'fedora']
Aprendiendo Python Básico de jalón
●   Las estructuras y la elegancia de la identación


              edad = 18
        If    if edad >= 18:
     else         print "Usted es mayor de edad"
              else:
                  print "Usted no es mayor de edad"
Aprendiendo Python Básico de jalón
●   Las estructuras y la elegancia de la identación


               for i in range(65,91):
                 print chr(i),
      for
                ABCDEFGHIJKLMNOPQRSTUVWXYZ
Aprendiendo Python Básico de jalón
●   Las estructuras y la elegancia de la identación

           q = "Aceptas que el hombre es mejor que la mujer (Si/No) ? "

           while( raw_input(q) != "Si" ):

while
              print "Vamos, intentalo de nuevo."

           print "Excelente, vas por buen camino :D"
Aprendiendo Python Básico de jalón
●   Funciones
        def esPalindroma(cadena):
           cadena = cadena.replace(" ","")
           if cadena == cadena[::-1]:
               return True
           return False

        print esPalindroma("anita lava la tina de su mama")


         True
Probando Limites
import sys

n = sys.maxint

print n
                           2147483647
print n+1                  2147483648
print n+100                2147483747
print n*1000               2147483647000


public class Main{
   public static void main(String args[]){
         int n = Integer.MAX_VALUE;

        System.out.println(n);               2147483647
        System.out.println(n+1);             -2147483648
        System.out.println(n+100);           -2147483549
        System.out.println(n*1000);          -1000
    }
}
Zen de Python
                          Tim Peters

●   Hermoso es mejor que feo.
●   Explícito es mejor que implícito.
●   Simple es mejor que complejo.
●   Complejo es mejor que complicado.
●   Plano es mejor que anidado.
●   Disperso es mejor que denso.
Zen de Python
                             Tim Peters

●   La legibilidad cuenta.
●   Los casos especiales no son suficientemente especiales
    como para romper las reglas.
●   Aunque lo pragmático gana a la pureza.
●   Los errores nunca deberían dejarse pasar
    silenciosamente.
●   A menos que se silencien explícitamente.


               >> import this
La legibilidad Cuenta
●   Los programas deben escribirse para que los lean las
    personas, y sólo de forma circunstancial para que los
    ejecuten las máquinas.
      Abelson y Sussman, Estructura e Interpretación de
      Programas de Computadora
¿Como y donde utilizarlo?
●   Dekstop:                         ●   Web:
    ●   Soporte librerías gráficas
                                         ●   Webpy
         –   Gtk (+1, +2, +3)
                                         ●   Zope
         –   Qt                          ●   Plone
         –   WX                          ●   Django
         –   Win32                   ●   Otras
    ●   Database                         ●   PIL (procesamiento
●   Games:                                   imagenes)
                                         ●   Sympy (matemática
    ●   PyGame                               simbólica)
                                         ●   Numpy (matemática alto
                                             performance)
Python y Google en la Web
Un ejemplo con PyGame
import sys, os, pygame, time
pygame.init()

size = width, height = 320, 240
speed = [1, 1]
black = 0, 0, 0

screen = pygame.display.set_mode(size)

ball = pygame.image.load("ball.png")
ballrect = ball.get_rect()

while 1:
 time.sleep(0.01)
 for event in pygame.event.get():
    if event.type == pygame.QUIT:
       sys.exit()
 ballrect = ballrect.move(speed)
 if ballrect.left < 0 or ballrect.right > width:
    speed[0] = -speed[0]
 if ballrect.top < 0 or ballrect.bottom > height:
    speed[1] = -speed[1]
 screen.fill(black)
 screen.blit(ball, ballrect)
 pygame.display.flip()
Scaner de Puertos
import nmap
nm = nmap.PortScanner()
nm.scan(hosts='192.168.1.0/24',arguments='-p 22-443')
for host in nm.all_hosts():
    if nm[host].state() == "up":
        print "Ip:", host
        print "tName:", nm[host].hostname()
        for protocol in nm[host].all_protocols():
            ports = nm[host][protocol].keys()
            for port in ports:
                print "tt", port, nm[host][protocol][port]['state']
Ip: 172.20.100.52
                          Name:
Ip: 172.20.100.1              384 filtered
     Name:                    133 filtered
Ip: 172.20.100.2              392 filtered
     Name:                    402 filtered
Ip: 172.20.100.253            152 filtered
     Name:                    281 filtered
Ip: 172.20.100.254            154 filtered
     Name:                    288 filtered
         23 open              417 filtered
Ip: 172.20.100.41             418 filtered
     Name:                    167 filtered
         80 open              431 filtered
         111 open             306 filtered
Ip: 172.20.100.43             314 filtered
     Name:                    65 filtered
         80 open              78 filtered
         22 open              120 filtered
                              416 filtered
                              229 filtered
                              112 filtered
                              372 filtered
                              376 filtered
                              255 filtered
                     Ip: 172.20.100.57
                          Name:
Gracias por su atención

Jorge Luis Hernández C    Debian México
             @lesthack    http:blog.debian.mx

   lesthack@gmail.com     Planeta Python
 http:lesthack.com.mx   http://pythonmexico.org/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (18)

Introduccion a python
Introduccion a pythonIntroduccion a python
Introduccion a python
 
Transparencias taller Python
Transparencias taller PythonTransparencias taller Python
Transparencias taller Python
 
Python básico I
Python básico IPython básico I
Python básico I
 
Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)
 
Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)
 
Python no muerde
Python  no muerdePython  no muerde
Python no muerde
 
Aventura
AventuraAventura
Aventura
 
Javascript
JavascriptJavascript
Javascript
 
Manual De Javascript
Manual De JavascriptManual De Javascript
Manual De Javascript
 
Taller de introduccion a python con turtle
Taller de  introduccion a python  con  turtleTaller de  introduccion a python  con  turtle
Taller de introduccion a python con turtle
 
Paralela2
Paralela2Paralela2
Paralela2
 
Python básico II
Python básico IIPython básico II
Python básico II
 
Evidencia Sesión 5: Python
Evidencia Sesión 5: PythonEvidencia Sesión 5: Python
Evidencia Sesión 5: Python
 
Phyton
PhytonPhyton
Phyton
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Python
 
Evidencias de la tercera sesión: Programación en Python
Evidencias de la tercera sesión: Programación en PythonEvidencias de la tercera sesión: Programación en Python
Evidencias de la tercera sesión: Programación en Python
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Introduccion a Python por Facundo Batista
Introduccion a Python por Facundo BatistaIntroduccion a Python por Facundo Batista
Introduccion a Python por Facundo Batista
 

Andere mochten auch

Evidencia2ml
Evidencia2mlEvidencia2ml
Evidencia2mlmaluacsa
 
Evidencia1ml
Evidencia1mlEvidencia1ml
Evidencia1mlmaluacsa
 
Evidencia1ml
Evidencia1mlEvidencia1ml
Evidencia1mlmaluacsa
 
Python ¿2 vs 3?
Python ¿2 vs 3?Python ¿2 vs 3?
Python ¿2 vs 3?Joel Rivera
 
Evidencias de sesión 4 Curso Python
Evidencias de  sesión 4 Curso PythonEvidencias de  sesión 4 Curso Python
Evidencias de sesión 4 Curso Pythonmaluacsa
 
Sesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en PythonSesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en Pythonmaluacsa
 
Manual de python
Manual de pythonManual de python
Manual de pythonULEAM
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...Wilson Bautista
 
Programa taller-gratuito-python
Programa taller-gratuito-pythonPrograma taller-gratuito-python
Programa taller-gratuito-pythonMar Rubio Rubio
 
Todo Sobre El Lenguaje Python
Todo Sobre El Lenguaje PythonTodo Sobre El Lenguaje Python
Todo Sobre El Lenguaje Pythongenaro martinez
 

Andere mochten auch (20)

Tablacqa2
Tablacqa2Tablacqa2
Tablacqa2
 
Evidencia2ml
Evidencia2mlEvidencia2ml
Evidencia2ml
 
Tabla cqa
Tabla cqaTabla cqa
Tabla cqa
 
Evidencia1ml
Evidencia1mlEvidencia1ml
Evidencia1ml
 
Tablacqa3
Tablacqa3Tablacqa3
Tablacqa3
 
Evidencia1ml
Evidencia1mlEvidencia1ml
Evidencia1ml
 
Python + Ciencia = ♥
Python + Ciencia = ♥Python + Ciencia = ♥
Python + Ciencia = ♥
 
Python ¿2 vs 3?
Python ¿2 vs 3?Python ¿2 vs 3?
Python ¿2 vs 3?
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Evidencias de sesión 4 Curso Python
Evidencias de  sesión 4 Curso PythonEvidencias de  sesión 4 Curso Python
Evidencias de sesión 4 Curso Python
 
Sesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en PythonSesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en Python
 
Introducción a python
Introducción a pythonIntroducción a python
Introducción a python
 
Manual de python
Manual de pythonManual de python
Manual de python
 
Python
PythonPython
Python
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...
 
Info nivel 1 avanzado
Info nivel 1 avanzadoInfo nivel 1 avanzado
Info nivel 1 avanzado
 
Programa taller-gratuito-python
Programa taller-gratuito-pythonPrograma taller-gratuito-python
Programa taller-gratuito-python
 
Todo Sobre El Lenguaje Python
Todo Sobre El Lenguaje PythonTodo Sobre El Lenguaje Python
Todo Sobre El Lenguaje Python
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Ähnlich wie Python: Mitos y Realidades de la Programación

Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mariano Reingart
 
Programando con Python
Programando con PythonProgramando con Python
Programando con PythonMario IC
 
De 0 A Python En 40 Minutos
De 0 A Python En 40 MinutosDe 0 A Python En 40 Minutos
De 0 A Python En 40 Minutosflekoso
 
00 introducción a Python
00 introducción a Python00 introducción a Python
00 introducción a PythonJuan Rodríguez
 
Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))kikocorreoso
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Sergio Soto
 
Screencast aprende python - anexo python en winshit
Screencast   aprende python - anexo python en winshitScreencast   aprende python - anexo python en winshit
Screencast aprende python - anexo python en winshitNoe Nieto
 
Iniciación a las artes marciales con Python
Iniciación a las artes marciales con PythonIniciación a las artes marciales con Python
Iniciación a las artes marciales con PythonIsrael Fermin Montilla
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxjgs07
 
Python - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisPython - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisJuan Percy Rojas Cruz
 

Ähnlich wie Python: Mitos y Realidades de la Programación (20)

Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015
 
Programando con Python
Programando con PythonProgramando con Python
Programando con Python
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Go python, go
Go python, goGo python, go
Go python, go
 
Introducción
IntroducciónIntroducción
Introducción
 
Semana 6 Módulos en Python Entrega 2
Semana 6   Módulos en Python Entrega 2Semana 6   Módulos en Python Entrega 2
Semana 6 Módulos en Python Entrega 2
 
De 0 A Python En 40 Minutos
De 0 A Python En 40 MinutosDe 0 A Python En 40 Minutos
De 0 A Python En 40 Minutos
 
C:\Fakepath\Python}
C:\Fakepath\Python}C:\Fakepath\Python}
C:\Fakepath\Python}
 
Python}
Python}Python}
Python}
 
00 introducción a Python
00 introducción a Python00 introducción a Python
00 introducción a Python
 
Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
 
Screencast aprende python - anexo python en winshit
Screencast   aprende python - anexo python en winshitScreencast   aprende python - anexo python en winshit
Screencast aprende python - anexo python en winshit
 
python CIENTIFIFO.pdf
python CIENTIFIFO.pdfpython CIENTIFIFO.pdf
python CIENTIFIFO.pdf
 
Iniciación a las artes marciales con Python
Iniciación a las artes marciales con PythonIniciación a las artes marciales con Python
Iniciación a las artes marciales con Python
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Introduccion a Ppython
Introduccion a PpythonIntroduccion a Ppython
Introduccion a Ppython
 
Clase1_Python-CTIC
Clase1_Python-CTICClase1_Python-CTIC
Clase1_Python-CTIC
 
Python - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisPython - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratis
 
Funcional para trollear
Funcional para trollearFuncional para trollear
Funcional para trollear
 

Kürzlich hochgeladen

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Kürzlich hochgeladen (16)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Python: Mitos y Realidades de la Programación

  • 1. Python: Programación de Verdad Jorge Luis Hernández C @lesthack lesthack@gmail.com http:lesthack.com.mx
  • 2. Python: Programación para Machos Jorge Luis Hernández C @lesthack lesthack@gmail.com http:lesthack.com.mx
  • 3. Mitos sobre la Programación: ● La programación es una de las habilidades técnicas más difíciles. ● Programar es como hablar un lenguaje nuevo, solo que mucho mas limitado y reglamentado. ● Lo hacen chicos jóvenes socialmente ineptos y en total aislamiento, casi siempre de noche ¿Quien se identifico...?
  • 4. Mitos sobre la Programación: ● La programación es algo que no ayuda a la gente. ● Vale, puedes resolver modelos matemáticos a mano si tu quieres. ● Los lenguajes interpretados no son eficientes ● La eficiencia la de el programador.
  • 5. Que SI es y que NO es esta platica ● Que no es: ● No es un Curso rápido de Python. ● Ni mucho menos un taller de este. ● No es una excusa para que faltes a tus clases. ● Que si es: ● Una oportunidad de aprender un lenguaje nuevo. ● Una simple charla de cuates que les relata mi experiencia con python. ● Una posible inspiración de aprendizaje y emprendimiento en proyectos nuevos.
  • 6. ¿ Por que es interesante aprender Python ? ● Es un lenguaje muy sencillo. ● Quieres facilitarte la vida. ● Por que se lleva bien con todos. ● Por que quieres impresionar al profesor. ● Por que cuando quieras pasarle la tarea a alguien, este no le entienda absolutamente nada.
  • 7. Ya enserio, ¿de que va esto? Lenguaje Maduro (~19 años) ● ● Diseño elegante y robusto ● Evoluciona Fácil de Aprender ● ● Se lee como pseudo-codigo ● Sintaxis legible y expresiva
  • 8. Ya enserio, ¿de que va esto? ● Portable y Multiplataforma ● Windows ● Mac ● Unix ● Linux
  • 9. Características Sustanciales ● Multiparadigma ● Objetos ● Procedural ● Modular ● Aspectos
  • 10. Características Sustanciales ● Tipado Dinámico y de Conteo de Referencias ● Interpretado ● Interactivo ● Es Software Libre y Open Source ● Viene con las baterías incluidas
  • 11. Propiedades ● Compilación a Bytecode ● Implícita ● Automática ● Tipos de datos de alto nivel ● Númericos sin límites ● ¿ Arreglos ? Naaah !! ● Listas ● Diccionarios ● Tuplas ● Conjuntos
  • 12. ¿De quién fue la idea? ● Python fue publicado en 1991 por Guido Van Rossum. ● Conocido como el Benevolente Dictador Vitalicio ● Actualmente la versión estable es 2.7 ● Reciente publicación de la versión 3.2 ● Publicada bajo la licencia Python Software Foundation License compatible con GPL.
  • 13. Pero pues, ¿Quién usa Python?
  • 15. El típico ejemplo baboso de “Hola mundo” Python: print “hola mundo” Java: public class Main{ public static void main(String args[]){ System.out.println("Hola mundo"); } }
  • 16. Aprendiendo Python Básico de jalón ● Entradas/Salidas ● Estructuras ● Tipos Datos ● Funciones
  • 17. Aprendiendo Python Básico de jalón ● Entradas/Salidas #! /usr/bin/env python entrada = raw_input(“Dame un núnero: ”) print “Tu número es el: %d ” % entrada
  • 18. Aprendiendo Python Básico de jalón ● Tipos de Datos ● Recuerda, su tipado es dinámico numero = 10 10 <type 'int'> print numero, type(numero) 10 <type 'str'> El codigo ascii de la F es: 70 <type 'str'> numero = "10" 12312.12 <type 'float'> print numero, type(numero) cadena = 'El codigo ascii de la F es: %d' % ord("F") print cadena, type(cadena) flotante = 12312.12 print flotante, type(flotante)
  • 19. Aprendiendo Python Básico de jalón ● Tipos de Datos ● Recuerda, todo es un objeto print "cadena separada por espacios".split(" ") ['cadena', 'separada', 'por', 'espacios'] tupla = (1,2,5,9) print tupla (1, 2, 5, 9) diccionario = {"Manzana":"Roja", "Limon":"Verde", "Mango":"Amarillo"} print diccionario["Manzana"] Roja del diccionario["Manzana"] {'Limon': 'Verde', 'Mango': 'Amarillo'} print diccionario
  • 20. Aprendiendo Python Básico de jalón ● Tipos de Datos ● Recuerda, todo es un objeto lista = ["debian","ubuntu","fedora"] print lista ['debian', 'ubuntu', 'fedora'] lista.append("archlinux") ['debian', 'ubuntu', 'fedora', 'archlinux'] print lista lista.remove("ubuntu") print lista ['debian', 'fedora', 'archlinux'] print lista.pop() archlinux print lista ['debian', 'fedora']
  • 21. Aprendiendo Python Básico de jalón ● Las estructuras y la elegancia de la identación edad = 18 If if edad >= 18: else print "Usted es mayor de edad" else: print "Usted no es mayor de edad"
  • 22. Aprendiendo Python Básico de jalón ● Las estructuras y la elegancia de la identación for i in range(65,91): print chr(i), for ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • 23. Aprendiendo Python Básico de jalón ● Las estructuras y la elegancia de la identación q = "Aceptas que el hombre es mejor que la mujer (Si/No) ? " while( raw_input(q) != "Si" ): while print "Vamos, intentalo de nuevo." print "Excelente, vas por buen camino :D"
  • 24. Aprendiendo Python Básico de jalón ● Funciones def esPalindroma(cadena): cadena = cadena.replace(" ","") if cadena == cadena[::-1]: return True return False print esPalindroma("anita lava la tina de su mama") True
  • 25. Probando Limites import sys n = sys.maxint print n 2147483647 print n+1 2147483648 print n+100 2147483747 print n*1000 2147483647000 public class Main{ public static void main(String args[]){ int n = Integer.MAX_VALUE; System.out.println(n); 2147483647 System.out.println(n+1); -2147483648 System.out.println(n+100); -2147483549 System.out.println(n*1000); -1000 } }
  • 26. Zen de Python Tim Peters ● Hermoso es mejor que feo. ● Explícito es mejor que implícito. ● Simple es mejor que complejo. ● Complejo es mejor que complicado. ● Plano es mejor que anidado. ● Disperso es mejor que denso.
  • 27. Zen de Python Tim Peters ● La legibilidad cuenta. ● Los casos especiales no son suficientemente especiales como para romper las reglas. ● Aunque lo pragmático gana a la pureza. ● Los errores nunca deberían dejarse pasar silenciosamente. ● A menos que se silencien explícitamente. >> import this
  • 28. La legibilidad Cuenta ● Los programas deben escribirse para que los lean las personas, y sólo de forma circunstancial para que los ejecuten las máquinas. Abelson y Sussman, Estructura e Interpretación de Programas de Computadora
  • 29. ¿Como y donde utilizarlo? ● Dekstop: ● Web: ● Soporte librerías gráficas ● Webpy – Gtk (+1, +2, +3) ● Zope – Qt ● Plone – WX ● Django – Win32 ● Otras ● Database ● PIL (procesamiento ● Games: imagenes) ● Sympy (matemática ● PyGame simbólica) ● Numpy (matemática alto performance)
  • 30. Python y Google en la Web
  • 31. Un ejemplo con PyGame import sys, os, pygame, time pygame.init() size = width, height = 320, 240 speed = [1, 1] black = 0, 0, 0 screen = pygame.display.set_mode(size) ball = pygame.image.load("ball.png") ballrect = ball.get_rect() while 1: time.sleep(0.01) for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() ballrect = ballrect.move(speed) if ballrect.left < 0 or ballrect.right > width: speed[0] = -speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = -speed[1] screen.fill(black) screen.blit(ball, ballrect) pygame.display.flip()
  • 32. Scaner de Puertos import nmap nm = nmap.PortScanner() nm.scan(hosts='192.168.1.0/24',arguments='-p 22-443') for host in nm.all_hosts(): if nm[host].state() == "up": print "Ip:", host print "tName:", nm[host].hostname() for protocol in nm[host].all_protocols(): ports = nm[host][protocol].keys() for port in ports: print "tt", port, nm[host][protocol][port]['state']
  • 33. Ip: 172.20.100.52 Name: Ip: 172.20.100.1 384 filtered Name: 133 filtered Ip: 172.20.100.2 392 filtered Name: 402 filtered Ip: 172.20.100.253 152 filtered Name: 281 filtered Ip: 172.20.100.254 154 filtered Name: 288 filtered 23 open 417 filtered Ip: 172.20.100.41 418 filtered Name: 167 filtered 80 open 431 filtered 111 open 306 filtered Ip: 172.20.100.43 314 filtered Name: 65 filtered 80 open 78 filtered 22 open 120 filtered 416 filtered 229 filtered 112 filtered 372 filtered 376 filtered 255 filtered Ip: 172.20.100.57 Name:
  • 34. Gracias por su atención Jorge Luis Hernández C Debian México @lesthack http:blog.debian.mx lesthack@gmail.com Planeta Python http:lesthack.com.mx http://pythonmexico.org/