0% encontró este documento útil (0 votos)
5 vistas31 páginas

Python

El documento es una guía sobre programación básica en Python, cubriendo temas como la sintaxis, funciones, tipos de datos, estructuras de control y manejo de archivos. Python es un lenguaje de alto nivel, interpretado y multiparadigma, conocido por su legibilidad y facilidad de uso. También se mencionan bibliotecas estándar y externas que amplían sus capacidades en diversas áreas.

Cargado por

José Ferradanez
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas31 páginas

Python

El documento es una guía sobre programación básica en Python, cubriendo temas como la sintaxis, funciones, tipos de datos, estructuras de control y manejo de archivos. Python es un lenguaje de alto nivel, interpretado y multiparadigma, conocido por su legibilidad y facilidad de uso. También se mencionan bibliotecas estándar y externas que amplían sus capacidades en diversas áreas.

Cargado por

José Ferradanez
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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 31

Programación básica en Python

M. en C. Edgardo Adrián Franco Martínez 1


http://computacion.cs.cinvestav.mx/~efranco
@efranco_escom
[email protected]
Contenido

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• Introducción
• Primer programa
• Funciones en Python
• Características de Python
• Tipos de datos
• Estructuras de control
• Archivos
• Mas ayuda
2
Introducción

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• Python es un lenguaje de programación de alto
nivel cuya filosofía hace hincapié en una sintaxis
muy limpia y que favorezca un código legible.

• Se trata de un lenguaje de programación


multiparadigma ya que soporta orientación a
objetos, programación imperativa y, en menor
medida, programación funcional y estructurada.

• Es un lenguaje interpretado, usa tipado dinámico,


es fuertemente tipado y multiplataforma.
3
• Es administrado por la Python Software
Foundation. Posee una licencia de código abierto,

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
denominada Python Software Foundation License,
que es compatible con la Licencia pública general
de GNU a partir de la versión 2.1.1, e
incompatible en ciertas versiones anteriores.

• Python fue creado a finales de los ochenta por


Guido van Rossum en el Centro para las
Matemáticas y la Informática, de los Países Bajos,
como un sucesor del lenguaje de programación
ABC, capaz de manejar excepciones e interactuar
con el sistema operativo Amoeba.
4
Primer programa

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
Código

seq1 = 'Hola'
seq2 = ' mundo!'
total = seq1 + seq2
print total

Resultado

Hola mundo!

5
Funciones en Python

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
Definición de funciones en Python

def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a

6
Características de Python

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• Fácil de aprender y de programar
• Fácil de leer (similar a pseudocódigo)
• Interpretado (Rápido para programar)
• Datos de alto nivel (listas, diccionarios, conjuntos,
etc.)
• Libre y gratuito
• Multiplataforma (Windos, Linux y Mac)
• Pilas incluidas
• Gran cantidad de bibliotecas con funciones extras
• Comunidades de desarrollo 7
Leer archivo y cargarlo en lista

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• # Abrir un archivo de texto . . .
• file_object = open(FILENAME)

• # Leer todas las lineas del texto en una lista


(similar a un array)
• lista = file_object.readlines()

• # Ordenar la lista
• lista.sort()

8
Biblioteca estándar

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• La biblioteca estándar ayuda con:
• Servicios del sistema, fecha y hora, subprocesos, sockets,
i18n y l10n, base de datos, threads, formatos zip, bzip2,
gzip, expresiones regulares, XML (DOM y SAX), Unicode,
SGML, HTML, XHTML, email, manejo asincrónico de
sockets, clientes HTTP, FTP, SMTP, NNTP, POP3, IMAP4,
servidores HTTP, SMTP, debugger, random, curses, logging,
compilador, decompilador, CSV, análisis lexicográfico,
interfaz gráfica incorporada, matemática real y compleja,
criptografía, introspección, unit testing, doc testing, etc.,
etc...
9
Bibliotecas externas

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• Bases de datos
– MySQL, PostgresSQL, MS SQL, Informix, DB/2, SQLite
• Interfaces gráficas
– Qt, GTK, win32, wxWidgets, Cairo
• Frameworks Web
– Django, Turbogears, Zope, Plone, webpy
• Y un montón más de temas...
– Biopython: Manejo de secuencias genéticas
– PIL: para trabajar con imágenes
– PyGame: juegos, presentaciones, gráficos
– SymPy: matemática simbólica
10
– Numpy: cálculos de alta performance
Práctica en intérprete interactivo

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
>>> 2+2
4
>>> _*4
16
>>> 10/3
3
>>> float(10)/3
3.3333333333333335
>>> 10.0/3
3.3333333333333335
>>> int(2.1)
2
>>> int(2.9)
2
>>> round(2.9)
3.0
>>> int(round(2.9))
3
>>> round(2.932224,2)
2.9300000000000002 11
>>> print round(2.932224,2)
2.93
Práctica en intérprete interactivo

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
>>> "hola" + " mundo!"
'hola mundo!'
>>> ("hola" + " mundo!").upper()
'HOLA MUNDO!'
>>> ' 123'.strip()
'123'
>>> 123.strip()
File "<stdin>", line 1
123.strip()
^
SyntaxError: invalid syntax
>>> >>> str(123)
'123'
>>> int('123')
123

12
Tipo de datos: Primarios y derivados

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
• Primarios (o primitivos): No necesitan de otro
tipo de datos, como numericos (int, float,
decimal, complex) y str (cadenas).

• Derivados: Agrupan a alguno de los anteriores,


como listas, diccionarios, tuplas, etc.
• Se pueden subclasificar según distintos
parámetros:
• Ordenados (o secuenciales)
• Desordenados
• Mutables – Inmutables
13
>>> type(5)
<type 'int'>
>>> type(5.0)

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
<type 'float'>
>>> type(5 + 5.0)
<type 'float'>
>>> 5 + 5.0
10.0
>>> type(2+3j)
<type 'complex'>
>>> (2+3j).real
2.0
>>> (2+3j).imag
3.0
>>> type('Hola!')
<type 'str'>
>>> 'hola' + ' mundo!'
'hola mundo!'
>>> 'hela' + 2
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
'hela' + 2
TypeError: cannot concatenate 'str' and 'int' objects
>>> 'hela' + str(2) 14
'hela2'
Decimal

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
El “problema” de los números flotantes:

>>> 0.1 + 0.1 + 0.1 - 0.3


5.5511151231257827e-17

Una manera de evitar esto:

>>> round(0.1 + 0.1 + 0.1 - 0.3,1)


0.0

Alternativamente, para no perder precisión:

>>> from decimal import Decimal


>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') -
Decimal('0.3')
Decimal('0.0')

Mas información: http://docs.python.org/library/decimal.html 15


str (String o Cadenas)

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
>>> 'Hola mundo!'
'Hola mundo!'
>>> a='Hola mundo!'
>>> len(a)
11
>>> a.lower()
'hola mundo!'
>>> a.count('o')
2
>>> a.find('H')
0
>>> a.find('mundo')
5
>>> a.find('e')
-1
>>> a.index(' ')
4
>>> a.index('e')
Traceback (most recent call last):
File "<pyshell#52>", line 1, in <module>
a.index('e')
ValueError: substring not found
>>> a.split(' ')
['Hola', 'mundo!'] 16

http://docs.python.org/library/string.html
Datos ordenados: Listas

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
>>> mi_lista = [1,2,3]
>>> mi_lista.append(5)
>>> mi_lista
[1, 2, 3, 5]
>>> mi_lista.pop()
5
>>> mi_lista
[1, 2, 3]
>>> mi_lista + [4]
[1, 2, 3, 4]
>>> mi_lista
[1, 2, 3]
>>> mi_lista = mi_lista + [4]
>>> mi_lista
[1, 2, 3, 4]
>>> mi_lista.extend([5,6])
>>> mi_lista
[1, 2, 3, 4, 5, 6]
>>> mi_lista[0]
1
>>> mi_lista[3]
4
>>> mi_lista[3:5]
[4, 5]
>>> mi_lista[-2] 17
5
Mas sobre listas:

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
>>> variada = ['boga', 'cornalito', 'tararira']
>>> variada[2]
'tararira'
>>> variada[2][2:8]
'rarira'
>>> variada[2][2:]
'rarira'
>>> variada.append('pulpo')
>>> variada
['boga', 'cornalito', 'tararira', 'pulpo']
>>> variada.remove('cornalito')
>>> variada
['boga', 'tararira', 'pulpo']
>>> variada.sort()
>>> variada
['boga', 'pulpo', 'tararira']
>>> variada.index('pulpo')
1
>>> variada.index('pulpa')
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
variada.index('pulpa')
ValueError: list.index(x): x not in list
>>> 'pulpo' in variada 18
True
>>> 'pulpa' in variada
False
Sets (Conjuntos)

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
>>> mi_set = set()
>>> mi_set.add('jose')
>>> mi_set.add('juan')
>>> mi_set.add('natalia')
>>> mi_set.add('viki')
>>> mi_set
set(['jose', 'juan', 'viki', 'natalia'])
>>> mi_set.pop()
'jose'
>>> mi_set
set(['juan', 'viki', 'natalia'])
>>> mi_set.add('jose')
>>> mi_set
set(['jose', 'juan', 'viki', 'natalia'])
>>> mi_set.add('jose')
>>> mi_set
set(['jose', 'juan', 'viki', 'natalia'])
>>> otro_set = set(['juan','karina','diana'])
>>> otro_set
set(['diana', 'juan', 'karina'])
>>> mi_set.intersection(otro_set)
set(['juan'])
>>> mi_set.union(otro_set)
set(['jose', 'viki', 'natalia', 'diana', 'juan', 'karina'])
>>> mi_set.difference(otro_set) 19
set(['jose', 'viki', 'natalia'])
Teoría computacional
20

Programación básica en Python


Prof. Edgardo Adrián Franco Martínez
Data I/O

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
Entrada:
input('prompt')
raw_input('prompt')

>>> edad = input('Ingrese la edad: ')


Ingrese la edad: 33
>>> edad
33
>>> edad = raw_input('Ingrese la edad: ')
Ingrese la edad: 33
>>> edad
'33'
Python 3: input() es raw_input()

Salida:
print
Python 3: print()
21
Estructuras de control de flujo
while: Repetición

for: Repetición

if: Condición

Teoría computacional
22

Programación básica en Python


Prof. Edgardo Adrián Franco Martínez
if

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
if <expresion1>:
<Instrucciones>
elif <expresion2>:
<Instrucciones>
else:
<Instrucciones>

if coord != 'N/A':
year = int(coord[0][-4:])
23
for x in [1, 3, 4]:

for <var> in <iterable>:

for
print x

<instrucciones>

Teoría computacional
24

Programación básica en Python


Prof. Edgardo Adrián Franco Martínez
while mi_set:

while <expresion>:

while
print mi_set.pop()

<instrucciones>

Teoría computacional
25

Programación básica en Python


Prof. Edgardo Adrián Franco Martínez
Archivos

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
Lectura:

(1) Abrir (open)


(2) Leer (read, readlines, readline)
(3) Cerrar (close)

Escritura:

(1) Abrir (open)


(2) Guardar (write)
(3) Cerrar (close)
26
Leyendo un archivo

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
(1)

La función open crea un “filehandle”.

open(filename[, mode[, bufsize]])

Ej:

fh = open('mi_archivo.txt','r')

(2)

read(n): Lee n bytes, por defecto lee el archivo entero. 27


readline(): Devuelve str con una sola linea
readlines(): Devuelve una lista con str por cada línea
fh = open('archivo.txt')
contenido = fh.read()

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
print contenido

fh = open('archivo.txt')
contenido = fh.readlines()
print contenido

contenido = ''
fh = open('archivo.txt')
while True:
line = fh.readline()
contenido += line
if line=''
break
print contenido
28
# Para todos:
fh.close()
Apertura secuencial de un archivo

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
fh = open('archivo.txt')

contenido = ''
for line in fh:
contenido += line
fh.close()

29
Escribiendo archivos

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
Modos de escritura:
w: Write, graba un archivo nuevo, si existe, borrarlo.
a: Append (agregar), agrega información al final de un archivo
pre-existente. Si no existe, crea uno nuevo (uso típico: logs).

Ejemplo:

fh = open('/home/yo/archivo.txt','w')
fh.write('1\n2\n3\n4\n5\n')
fh.close()

30
Mas ayuda...

Prof. Edgardo Adrián Franco Martínez


Teoría computacional
Programación básica en Python
Documentación de Python: http://docs.python.org/2/

Manual de Python: http://pyspanishdoc.sourceforge.net/tut/tut.html

Mas recursos: http://python.org.ar/pyar/AprendiendoPython

31

También podría gustarte