Está en la página 1de 50

Python Introduccin

Johnny Moiss Valverde Montoro

Qu es Python?
Python es un lenguaje de programacin
poderoso, fcil de aprender. Eficientes estructuras de datos de alto nivel Aproximacin sencilla a la programacin orientada a objetos. Sintaxis elegante y de tipeo dinmico Lenguaje de vanguardia en el mundo de software abierto
2

Caractersticas de uso
Sintaxis muy clara. Un modo obvio para hacer las cosas. Enorme cantidad de cdigo libre y
libreras. Interactivo. Solo innova donde la innovacin es realmente necesaria.
Es mejor robar una buena idea que inventar una mala!
3

Python Hello world"


print "Hola mundo

Python Interpretador
solo cargue python
En windows: hacer click en Inicio\Programas\python En Linux: habra una terminal y tipee en el prompt python >>> print "Hello world" Hello world

Nota: en los ejemplos usar


Python 2.7!
5

Caractersticas del interprete


Las lineas empiesan con >>>. La expresiones que retornan un valor
muestran el valor. >>> 5+7*4 33 Esto le ayuda de los excesivos print

Interpretes Interactivos

Windows lnea de comandos OS X Linux/Unix Lneas de comando Grafico: IDLE, PythonWin, MacPython, Jython

Python scripts
Algunas veces desea ejecutar el mismo
programa varias veces! Construya un archivo conteniendo los comandos de Python: SCRIPT foo.py: print hello world

>>> foo.py hello world >>> foo.py hello world

Python Demo
Python is a lenguaje de proposito general.
Puede programar cualquier cosa!

Pygame es una librera especificamente para


hacer juegos.

Solarwolf es un ejemplo de juego de Pygame.


http://www.pygame.org/shredwheat/solarwolf/ Una buena introduccin a Python para programadores avanzados.
9

Revisando Tipos Dinmicos


(para gente con conocimiento en lenguajes tipeados)

10

Python is dinamicamente tipeado


ancho = 20 print ancho altura = 5 * 9 print altura print ancho * altura ancho = "realmente ancho" print ancho

11

Experimentando con el Interprete


Cualquier variable en Python puede tomar
cualquier valor. >>> width = 40 >>> height = 5 * 10 >>> print width * height 2000 >>> width = "really wide" >>> print width really wide
12

Declaraciones multiples en una lnea


Puedes combinar multiples declaraciones
simples en una lnea:
>>> a = 5;print a; a = 6; print a 5 6

13

Continuando las declaraciones


Puede continuar una declaracin larga al finalizar cada lnea que no
sea la lnea final con un backslash: >>> this_is_a_long_variable_name = \ ... a_long_function_name( param1, \ ... param2) Con parentesis (), corchetes [ ] o llaves { }, el backslash es opcional. Python puede decir que la declaracin an no esta terminada. >>> a_short_variable = a_long_function_name( ... param1, param2, param3, param4, ... param5, param6, param7, param8)

14

Indentacin
Python usa indentacion para el mbito:
if this_function(that_variable): do_something() else: do_something_else()

15

Indentacin en el Interprete
>>> if this_function(that_variable): ... do_something() ... else: ... do_something_else() ...

16

Obteniendo Python
PSF Distribution: http://www.python.org
Source (for Linux/Unix) Windows Executable Installer MacOS X

ActiveState ActivePython
Windows MSI Installer Solaris package Linux RPM and .tar.gz Adds some extra modules, in particular win32 modules.
17

Python Interpreters
Standard Interpreter for Unix, Windows,
MacOS, PalmOS, Symbian etc. (CPython) Jython for compiling Python to Java classes. There is an experimental Python.NET (unrelated to Python for .NET more later) Pyrex for compiling Python-like code to C.
18

Tipos Bsicos de Python

19

Tipos Numericos
int: nmero entero, e.g. "x=5" float: aproximacin depende de la
plataforma, e.g. "x=3.14" complex: real+imag., "x=5.3+3.2j bool: True, False (matematicamente es equivalente a 1 y 0)

20

Enteros
Nmeros simples literales generan integers.
>>> x = 5 Podemos convertir otros tipos a enteros: >>> x= int(5) >>> print int(5.9) 5 O redondear floats (reales) al entero ms cercano >>> print round(5.9) 5
21

Operaciones Matemticas Estandars


>>> 5+3 8 >>> 5*2+3 13 >>> 3+5*2 13

22

Integer Division
>>> 2 >>> 2 >>> 2.5 >>> 2.5 5/2 # Python wart - don't do this
5//2 # Explicit truncating div 5.0/2 # Explicit float division

float(5)/2 # Another way

23

Exponentes
La operacin ** significa elevado a.
>>> 2**30 1073741824 >>> 2**90 1237940039285380274899124224

24

Enteros no son Acotados


>>> 2**150 1427247692705959881058285969449495136382746624 >>> 2**1000 10715086071862673209484250490600018105614048117 055360744375038837035105112493612249319837881 569585812759467291755314682518714528569231404 359845775746985748039345677748242309854210746 050623711418779541821530464749835819412673987 675591655439460770629145711964776865421676604 29831652624386837205668069376 >>> 2**100000 99900209301438450794403276433003359098042913905 418169177152927386314583246425734832748733133 24

25

Ejemplos Float
>>> print 4 * 2.5 / 3.3 3.0303030303 >>> print 7.0 / 2 3.5 >>> print float("7.0") 7.0 Floats tienen la complejidad de todos los floats que en cualquier otro lenguaje! Cudado!
26

Funciones Matemticas
abs(x) valor absoluto divmod(a, b) - divide a entre b y devuelve el

cociente y el resto hex( x) - Convierte un nmero entero (de cualquier tamao) a una cadena hexadecimal. oct( x) - Convierte un nmero entero (de cualquier tamao) a una cadena octal. round( x[, n]) - Retorna el valor real x redondeado a n digitos despues del punto decimal.

27

Booleans
True and False son solo valores de tipo
bool. True puede ser considerado como 1 and False como 0 en expresiones matemticas:
>>> print True+True+True-False 3 >>> print False==0 True
28

Complex Examples
>>> print complex(3,1) (3+j) >>> print complex(3,1)*3 (9+3j) >>> print (1+2j)/(1+1j) (1.5+0.5j)

29

Objetos Todo el camino



Todo en Python es un objeto Integers son objetos. Characters son objetos. Complex numbers son objetos. Booleans son objetos. Functions son objetos. Methods son objetos. Modules son objetos.
30

Comandos Matemticos
Command name abs(value) ceil(value) Description absolute value rounds up

cos(value)
floor(value) log(value) log10(value) max(value1, value2) min(value1, value2) round(value) sin(value) sqrt(value)

cosine, in radians
rounds down logarithm, base e logarithm, base 10 larger of two values smaller of two values nearest whole number sine, in radians square root

Constant

Description

e
pi

2.7182818...
3.1415926...

Para usar estos comandos, la sentencia es: from math import *


31

Lgica

Varias expresiones lgicas usan operadores relacionales:


Operator == != < > <= >= Igual a No es igual a Menor que Mayor que Menor o igual que Mayor o igual que Significa Ejemplo 1 + 1 == 2 3.2 != 2.5 10 < 5 10 > 5 126 <= 100 5.0 >= 5.0 Resultado True True False True False True

Expresiones lgicas pueden ser combinadas con operadores logicos:


Operator and or not Example 9 != 6 and 2 < 3 2 == 3 or -1 < 5 not 7 > 0 Result True True False

Ejercicio: Escriba un cdigo que muestre y cuente los factores de un nmero. 32

Tipo de Objeto e Identificacin


Puedes averiguar el tipo de un objeto:
>>> print type(1) <type 'int'> >>> print type(1.0) <type 'float'>

Cualquier objeto tiene un identificador nico


>>> print id(1)
7629640 >>> print id("1") 7910560
33

Introduccin a Atributos
Atributos son pedazos de informacion
atados a los objetos. >>> x = complex(3, 5) >>> x.real 3.0 >>> x.imag 5.0

34

Introduccion a Mtodos
Metodos son procedimientos y funciones
asociados con objetos >>> x = complex(3,5) >>> x (3+5j) >>> x.conjugate() (3-5j)

35

None
None representa la carencia de un valor. Como NULL en algunos lenguajeso base de
datos. Por ejemplo: >>> if y!=0: ... fraction = x/y ... else: ... fraction = None
36

Strings
Puede ser encerrado en simple o doble comillas:
>>> print "spam eggs" spam eggs >>> print "spam eggs" spam eggs >>> print "doesn't" doesn't >>> print '"He said", she said.' "He said, she said. >>> #backslash escapes quotes >>> print ' "Isn\'t," she said.' "Isn't," she said.
37

Strings
myStr = "abc" # asignacin myStr = myStr + "def"# = "abcdef" for char in myStr: # iterado print char myStr = str(5)

# creado desde un nmero

38

String metodos
>>> s = "hello there" >>> print s.replace("h", "j") jello tjere >>> print s.capitalize() Hello there >>> print s.title() Hello There >>> print s.upper() HELLO THERE
39

String metodos
>>> string = "positively python pow ered" >>> print string.count("po") 2 >>> print string.startswith("abc") False >>> print string.endswith("ed") True >>> print string.find("pow") 18
40

Splitting and joining


>>> joiner = " and " >>> names = ["Peter", "Paul","M ary"] >>> joined = joiner.join(names) >>> joined 'Peter and Paul and Mary' >>> joined.split(" and ") ['Peter', 'Paul', 'Mary']

41

Caracteres
Caracteres son solo strings de longitud 1.
x = "a" La funcin ord retorna el nmero del caracter ASCII (or Unicode si es apropiado) : >>> ord("a") 97 >>> chr(97) # opuesto a ord "a"
42

Indices

Los caracteres en un string son numerados con indices empezando en 0:

Ejemplo: Indice caracter

name = "P. Diddy" 0 P 1 . 2 3 D 4 i 5 d 6 d 7 y

Accesando a un caracter individual de un string:


variableName [ index ]

Ejemplo: print name, "starts with", name[0] Salida: P. Diddy starts with P

43

String propiedades

len(string) str.lower(string) str.upper(string)

- nmero de caracteres en un string (incluyendo espacios) - minusculas de un string - mayusculas de un string

Ejemplo: name = "Martin Douglas Stepp" length = len(name) big_name = str.upper(name) print big_name, tiene", length, "caracteres" Output: MARTIN DOUGLAS STEPP tiene 20 caracteres

44

Repeticin (loops) and Seleccin (if/else)

45

if

if statement: Ejecuta un grupo de instrucciones solo si una condicin es true. De otro modo, las instrucciones son salteadas.

Sintaxis: if condition: statements

Ejemplo:
gpa = 3.4 if gpa > 2.0: print Tu propuesta es aceptada."

46

if/else

if/else statement: Ejecuta un bloque de instrucciones si una condicin es cierta(True), y un segundo bloque de instrucciones en caso de ser falsa (False).

Syntax: if condition: statements else: statements

Ejemplo:
gpa = 1.4 if gpa > 2.0: print Biencenido a la UNI!" else: print Su postulacin es denegada."

Multiples condiciones pueden ser encadenadas con elif ("else if"):


if condition: statements elif condition: statements else: statements

47

The for loop

for loop: Repite un conjunto de declaraciones sobre un grupo de valores.

Sintaxis:

for variableName in groupOfValues: declaraciones


Indentamos las declaraciones a ser repetidas con tabs o spaces. variableName da un nombre a cada valor, de modo que pueda referirlos a las declaraciones. groupOfValues puede ser un rango de enteros, especificados con la funcin range .

Ejemplo: for x in range(1, 6): print x, "squared is", x * x

Output: 1 squared 2 squared 3 squared 4 squared 5 squared

is is is is is

1 4 9 16 25
48

range

La funcin range especifica un rango de enteros:

range(start, stop)

- los enteros entre start (inclusive) y stop (excluido)

Puede aceptar un tercer valor especificando el cambio entre valores.

range(start, stop, step) los enteros entre start (inclusive) y stop (exclusido) variando en step

Ejemplo: for x in range(5, 0, -1): print x print "Blastoff!" Output: 5 4 3 2 1 Blastoff!

Ejercicio: Cmo imprimira los pares desde el 98 hasta el 16?


49

while

while loop: Ejecuta un grupoo de instrucciones mientras que una condicion es cierta (True). Es bueno para bucles indefinidos (repetir un nmero desconocido de veces)

Sintaxis:
while condition: statements

Ejemplo:
number = 1 while number < 200: print number, number = number * 2

Salida: 1 2 4 8 16 32 64 128
50

También podría gustarte