0% encontró este documento útil (0 votos)
49 vistas43 páginas

Introducción a Python y su uso

Este documento presenta una introducción al lenguaje de programación Python. Explica que Python es un lenguaje interpretado, multi-paradigma y multiplataforma. Describe algunas de sus características como su sintaxis legible y gran cantidad de bibliotecas. También cubre temas como tipos de datos basicos, comentarios, variables, listas, tuplas, diccionarios y más.

Cargado por

Gerardo Garita
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas43 páginas

Introducción a Python y su uso

Este documento presenta una introducción al lenguaje de programación Python. Explica que Python es un lenguaje interpretado, multi-paradigma y multiplataforma. Describe algunas de sus características como su sintaxis legible y gran cantidad de bibliotecas. También cubre temas como tipos de datos basicos, comentarios, variables, listas, tuplas, diccionarios y más.

Cargado por

Gerardo Garita
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

[Link].

Gerardo Garita 1
Desarrollo de
Aplicaciones con
Python 3.6
y PyCharm 2017 Community

[Link] Garita 2
[Link] Garita 3
Que es Python?
Conceptos basicos antes de iniciar el desarrollo

[Link] Garita 4
Como nació Python?
• Fue creado a finales de los 80’s por Guido
van Rossum (Google, Dropbox) inspirado
en ABC.
• “Programacion para todos”:
• Python debería ser fácil, intuitivo y tan potente
como sus principales competidores.
• El proyecto sería de Código Abierto para que
cualquiera pudiera colaborar.
• El código escrito en Python sería tan
comprensible como cualquier texto en inglés.
• Python debería ser apto para las actividades
diarias permitiendo la construcción de
prototipos en poco tiempo.

[Link] Garita 5
Que es Python?
• Python es un lenguaje de programación cuya filosofía
hace hincapié en una sintaxis que favorezca un código
legible.
• Python es al día de hoy uno de los lenguajes de
programación más populares.
• En 2011 se proclamó el tercer lenguaje más popular
de la forja GitHub y según la encuesta​ se encuentra
entre los 10 lenguajes de programación más
demandados en las ofertas de trabajo.

[Link] Garita 6
Versiones de Python
• (1991) V0.9
• (1994) V1.0
• (1995) V1.2
• (2000) V1.6 (free)
• (2000) V2.0
• (2001) V2.2 – V2.3
• (2009) V3.x ó Python 3000
• (17 de julio del 2017) V3.2.6

[Link] Garita 7
Características de Python
1. Es interpretado 6. Es administrado por la PSF (Python
Software Foundation).

2. Es multi paradigma
7. Influido por:
• OO (Java, C#) • ABC
• Funcional (Scala, F#) • C
• Imperativo* (C, Pascal) • Modula-3
• Perl
• Java
3. Es no-tipado dinámico
8. Ha influido a:
4. Es multiplataforma • D
• Groovy
• Ruby
5. Posee una licencia de código • JavaScript
abierto • Go

[Link] Garita 8
Características de Python
9. Posee gran cantidad de
bibliotecas

10. Es muy expresivo (por


lo cual ocupa menos
instrucciones que otros
lenguajes)

[Link] Garita 9
Filosofía Python

[Link] Garita 10
Filosofía Python
• Bello 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.
• La legibilidad cuenta.
• Los casos especiales no son tan especiales como para quebrantar las reglas.
• Lo práctico gana a lo puro.
• Los errores nunca deberían dejarse pasar silenciosamente. A menos que hayan sido silenciados
explícitamente.
• Frente a la ambigüedad, rechaza la tentación de adivinar.
• Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
• Ahora es mejor que nunca. Aunque nunca es a menudo mejor que ya mismo.
• Si la implementación es difícil de explicar, es una mala idea.
• Si la implementación es fácil de explicar, puede que sea una buena idea.

[Link] Garita 11
[Link] Garita 12
Como programar en Python?
Entorno de desarrollo

[Link] Garita 13
PyCharm
• PyCharm es un entorno de desarrollo (IDE) dedicado a Python
and Django para el desarrollo del lenguaje y el desarrollo web.

[Link] Garita 14
Entorno PyCharm 1. Menus and toolbars.

2. Barra de navegación.

3. Barra de estado.

4. Editor.

5. Ventanas de
herramientas.

[Link] Garita 15
[Link] Garita 16
Como programar en Python?
Sintaxis

[Link] Garita 17
[Link] Garita 18
Comentarios

‘’’
este es mi comentario
‘’’

# este es mi comentario

[Link] Garita 19
Variables

• X=0

• X = “Hola mundo!”

[Link] Garita 20
Tipo Clase Ejemplo
None >>None

str Cadena 'Cadena'

list Secuencia [4.0, 'Cadena', True]

tuple Secuencia (4.0, 'Cadena', True)

set Conjunto set([4.0, 'Cadena', True])

frozenset Conjunto frozenset([4.0, 'Cadena', True])

dict Mapping {'key1': 1.0, 'key2': False}

int Número entero 42

long Número entero 42L ó 456966786151987643L

float Número decimal 3.1415927

complex Número complejo (4.5 + 3j)

bool Booleano True o False

[Link] Garita 21
Tuplas
>>> tupla = ("abc", 42, 3.1415)

>>> tupla[0]
# Acceder a un elemento por su índice 'abc'

>>> del tupla[0]


# No es posible borrar (ni añadir) un elemento en una tupla, lo que provocará una excepción
( Excepción )

>>> tupla[0] = "xyz"


# Tampoco es posible re-asignar el valor de un elemento en una tupla, lo que también provocará
una excepción ( Excepción )

>>> tupla[0:2]
# Mostrar los elementos de la tupla del índice "0" al "2" (sin incluir este último)

('abc', 42)
[Link] Garita 22
Tuplas anidadas
>>> tupla_anidada = (tupla, (True, 3.1415))
# También es posible anidar tuplas

>>> 1, 2, 3, "abc"
# Esto también es una tupla, aunque es recomendable ponerla entre paréntesis (recuerda que requiere, al menos, una
coma) (1, 2, 3, 'abc')

>>> (1)
# Aunque entre paréntesis, esto no es una tupla, ya que no posee al menos una coma, por lo que únicamente aparecerá
el valor 1

>>> (1,)
# En cambio, en este otro caso, sí es una tupla (1,)

>>> (1, 2)
# Con más de un elemento no es necesaria la coma final (1, 2)

>>> (1, 2,)


# Aunque agregarla no modifica el resultado (1, 2)

[Link] Garita 23
Listas
>>> lista = ["abc", 42, 3.1415]

>>> lista[0]
# Acceder a un elemento por su índice 'abc'

>>> lista[-1]
# Acceder a un elemento usando un índice negativo 3.1415

>>> [Link](True)
# Añadir un elemento al final de la lista

>>> lista ['abc', 42, 3.1415, True]

>>> del lista[3]


# Borra un elemento de la lista usando un índice (en este caso: True)

>>> lista[0] = "xyz“


# Re-asignar el valor del primer elemento de la lista

>>> lista[0:2]
# Mostrar los elementos de la lista del índice "0" al "2" (sin incluir este último) ['xyz', 42]

[Link] Garita 24
Listas anidadas

>>> lista_anidada = [lista, [True, 42L]]


# Es posible anidar listas

>>> lista_anidada [['xyz', 42, 3.1415], [True, 42L]]

>>> lista_anidada[1][0]
# Acceder a un elemento de una lista dentro de otra lista (del
segundo elemento, mostrar el primer elemento)

True
[Link] Garita 25
Listas por comprension
>>> range(5)
# La función "range" devuelve una lista, empezando en 0 y
terminando con el número indicado menos uno [0, 1, 2, 3, 4]

>>> [i*i for i in range(5)]


# Por cada elemento del rango, lo multiplica por sí mismo y lo
agrega al resultado [0, 1, 4, 9, 16]

>>> lista = [(i, i + 2) for i in range(5)]

>>> lista [(0, 2), (1, 3), (2, 4), (3, 5), (4, 6)]
[Link] Garita 26
Diccionarios
>>> diccionario = {"cadena": "abc", "numero": 42, "lista": [True, 42L]}
# Diccionario que tiene diferentes valores por cada clave, incluso una lista

>>> diccionario["cadena"]
# Usando una clave, se accede a su valor 'abc'

>>> diccionario["lista"][0]
# Acceder a un elemento de una lista dentro de un valor (del valor de la clave "lista", mostrar el primer
elemento)
True

>>> diccionario["cadena"] = "xyz"


# Re-asignar el valor de una clave

>>> diccionario["cadena"] 'xyz'

>>> diccionario["decimal"] = 3.1415927


# Insertar un nuevo elemento clave:valor

>>> diccionario["decimal"] 3.1415927

[Link] Garita 27
Diccionarios mixtos

>>> diccionario_mixto = {"tupla": (True, 3.1415), "diccionario": diccionario}


# También es posible que un valor sea un diccionario

>>> diccionario_mixto["diccionario"]["lista"][1]
# Acceder a un elemento dentro de una lista, que se encuentra dentro de un
diccionario 42L

>>> diccionario = {("abc",): 42}


# Sí es posible que una clave sea una tupla, pues es inmutable

>>> diccionario = {["abc"]: 42}


# No es posible que una clave sea una lista, pues es mutable, lo que provocará
una excepción ( Excepción )

[Link] Garita 28
Conjuntos
>>> conjunto_inmutable = frozenset(["a", >>> conjunto1 & conjunto2
"b", "a"]) # Intersección set(['a', 'b'])
# Se utiliza una lista como objeto iterable

>>> conjunto1 | conjunto2


>>> conjunto_inmutable frozenset(['a', 'b']) # Unión set(['a', 'c', 'b', 'd'])

>>> conjunto1 = set(["a", "b", "a"]) >>> conjunto1 - conjunto2


# Primer conjunto mutable # Diferencia (1) set([])

>>> conjunto1 set(['a', 'b']) >>> conjunto2 - conjunto1


# Diferencia (2) set(['c', 'd'])
>>> conjunto2 = set(["a", "b", "c", "d"])
# Segundo conjunto mutable >>> conjunto1 ^ conjunto2
# Diferencia simétrica set(['c', 'd'])
>>> conjunto2 set(['a', 'c', 'b', 'd'])
[Link] Garita 29
# Recuerda, no mantienen el orden
Condiciones
>>> verdadero = True
>>> if verdadero: # No es necesario poner "verdadero == True"
print "Verdadero" ...
else:
print "Falso"
Verdadero

>>> lenguaje = "Python"


>>> if lenguaje == "C": # lenguaje no es "C", por lo que este bloque se obviará y evaluará la siguiente condición
print "Lenguaje de programación: C"
elif lenguaje == "Python": # Se pueden añadir tantos bloques "elif" como se quiera
print "Lenguaje de programación: Python“
else: # En caso de que ninguna de las anteriores condiciones fuera cierta, se ejecutaría este bloque
print "Lenguaje de programación: indefinido"

Lenguaje de programación: Python


>>> if verdadero and lenguaje == "Python": # Uso de "and" para comprobar que ambas condiciones son verdaderas
print "Verdadero y Lenguaje de programación: Python"
Verdadero y Lenguaje de programación: Python

[Link] Garita 30
Bucles

>>> lista = ["a", "b", "c"]


>>> for i in lista: # Iteramos sobre una lista, que es iterable
print i
abc

>>> cadena = "abcdef"


>>> for i in cadena: # Iteramos sobre una cadena, que también es
iterable
print i, # Añadiendo una coma al final hacemos que no
introduzca un salto de línea, sino un espacio
abcdef
[Link] Garita 31
Bucles

>>> numero = 0
>>> while numero < 10:
print numero,
numero += 1

#un buen programador modificará las variables de control al


finalizar el ciclo while

0123456789

[Link] Garita 32
Funciones - def

>>> def suma(x, y = 2):


return x + y
# Retornar la suma del valor de la variable "x" y el valor de "y"

>>> suma(4)
# La variable "y" no se modifica, siendo su valor: 2 6

>>> suma(4, 10)


# La variable "y" sí se modifica, siendo su nuevo valor: 10 14

[Link] Garita 33
Funciones - lambda

>>> suma = lambda x, y = 2: x + y

>>> suma(4)
# La variable "y" no se modifica, siendo su valor: 2 6

>>> suma(4, 10)


# La variable "y" sí se modifica, siendo su nuevo valor: 10 14

[Link] Garita 34
Clases
>>> class Persona(object):
def __init__(self, nombre, edad):
[Link] = nombre # Un atributo cualquiera
[Link] = edad # Otro atributo cualquiera
def mostrar_edad(self): # Es necesario que, al menos, tenga un parámetro,
generalmente: "self"
print [Link] # mostrando un atributo
def modificar_edad(self, edad): # Modificando Edad
if edad < 0 or edad > 150: # Se comprueba que la edad no sea menor de 0
(algo imposible), ni mayor de 150 (algo realmente difícil)
return False
else: # Si está en el rango 0-150, entonces se modifica la variable
[Link] = edad # Se modifica la edad

[Link] Garita 35
Clases
>>> p = Persona("Alicia", 20)
# Instanciar la clase, como se puede ver, no se especifica el valor de "self"

>>> [Link]
# La variable "nombre" del objeto sí es accesible desde fuera 'Alicia'

>>> [Link] = "Andrea"


# Y por tanto, se puede cambiar su contenido

>>> [Link] 'Andrea'

>>> p.mostrar_edad()
# Se llama a un método de la clase 20

>>> p.modificar_edad(21)
# Es posible cambiar la edad usando el método específico que hemos hecho para hacerlo de forma controlada

>>> p.mostrar_edad() 21

[Link] Garita 36
Modulos
>>> import os
# Módulo que provee funciones del sistema operativo

>>> [Link]
# Devuelve el nombre del sistema operativo 'posix'

>>> [Link]("/tmp/ejemplo")
# Crea un directorio en la ruta especificada

>>> import time


# Módulo para trabajar con fechas y horas

>>> [Link]("%Y-%m-%d %H:%M:%S")


# Dándole un cierto formato, devuelve la fecha y/u hora actual '2010-08-10 18:01:17'

[Link] Garita 37
[Link] Garita 38
Porque Python?
Actualidad y Novedades

[Link] Garita 39
Python? Porque?
• Los programas son mas claros y traducibles
• Aumenta la productividad (una vez que lo dominas)
• Es multi paradigma
• Es sostenible por su claridad
• Es versátil
• Es usado para el desarrollo de scripts
• Django es muy utilizado en el desarrollo web
• Es muy utilizado en el procesamiento de textos complejo
• Hay muchísimas librerías disponibles (estadísticas, matemáticas,
gráficos)
• Es el principal lenguaje usado para Machine Learning
• Es ideal para programadores novatos y la enseñanza

[Link] Garita 40
[Link] Garita 41
Let’s do it Python!
Actividad programada

[Link] Garita 42
[Link] Garita 43

También podría gustarte