Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)
Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)
Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.
El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet).
Implementación de módulos.
Cuando uno codifica un programa en Python lo almacena en un archivo con extensión *.py
Una vez instalado el Python en forma local podemos llamar un programa desde la línea de comando del sistema operativo.
Si tenemos un programa mínimo llamado: programa1.py
print('Hola Mundo')
holamundo();
Este archivo en Python se lo llama módulo.
Un programa pequeño puede estar formado por un único módulo, pero programas de mayor tamaño deben dividirse en distintos módulos para facilitar su mantenimiento. Cada módulo normalmente almacena un conjunto de funciones relacionadas.
La sintaxis para llamar a una función que se encuentra en otro módulo es la siguiente:
print 'Función 1'
def funcion2():
modulo1.funcion1()
print 'Función 2'
funcion2()
Función 2
x=random.randint(1,1000)
print x
Funciones incorporadas en Python
- range([inicio],fin,[paso])
La función range devuelve una lista de valores enteros, comienza con el valor pasado al parámetro [inicio], en caso de omitir este parámetro comienza en cero y finaliza con el valor indicado en el parámetro 'fin' sin incluirlo. En caso de indicar el parámetro [paso] la lista de valores crece según dicho número, sino se incrementa de a uno.
print lista1 # [5, 6, 7, 8, 9]
lista2=range(10)
print lista2 # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
lista3=range(-5,5)
print lista3 # [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
lista4=range(1,10,3)
print lista4 # [1, 4, 7]
Es muy común utilizar esta función para generar un contador con la estructura for in, por ejemplo si queremos mostrar los números del 1 al 10:
print x
print '-'
- str(variable)
Convierte el contenido del parámetro a cadena y lo retorna. Funciona para cualquier tipo de dato como puede ser un entero, real, tupla, lista etc.
Muy útil cuando tenemos que generar un string a partir de un conjunto de variables heterogeneas.
y=2.5
fin=False
edades=(40,50)
print str(x) + str(y) + str(fin) + str(edades)
En el ejemplo concatenamos el contenido de cuatro variables de distinto tipo, para ello debemos llevarlas a todas a tipo string.
- type(variable)
Retorna el tipo de una variable.
print type(x) # <type 'int'>
y=2.5
print type(y) # <type 'float'>
fin=False
print type(fin) # <type 'bool'>
edades=(40,50)
print type(edades) # <type 'tuple'>
- dir(variable)
Si pasamos como parámetro a la función dir un objeto luego nos devuelve todos los métodos que tiene definidos la clase de dicho objeto (veremos más adelante en profundidad cada uno de los métodos de la clase lista y diccionario):
print dir(lista1) #['__add__', '__class__', '__contains__', '__delattr__',
# '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__',
# '__getattribute__', '__getitem__', '__getslice__', '__gt__',
# '__hash__', '__iadd__', '__imul__', '__init__', '__iter__',
# '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__',
# '__reduce__', '__reduce_ex__', '__repr__', '__reversed__',
# '__rmul__', '__setattr__', '__setitem__', '__setslice__',
# '__str__', 'append', 'count', 'extend', 'index', 'insert',
# 'pop', 'remove', 'reverse', 'sort']
dic1={'juan':44,'ana':3}
print dir(dic1) # ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__',
# '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
# '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__',
# '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__',
# '__str__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems',
# 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
Si le pasamos como parámetro el nombre de un módulo la función dir nos retorna todas las funciones definidas entre otros datos (recordemos que hemos estado utilizando la función randint para generar un valor aleatorio y como podemos ver se encuentra listado al llamar a la función dir):
print dir(random) # ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST',
# 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType',
# '__all__', '__builtins__', '__doc__', '__file__', '__name__', '_acos', '_ceil',
# '_cos', '_e', '_exp', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin',
# '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate',
# 'choice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate',
# 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint',
# 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'uniform',
# 'vonmisesvariate', 'weibullvariate']
Veamos que nos devuelve la función help si le pasamos como parámetro la función randint:
help(random.randint) # Help on method randint in module random: randint(self, a, b)
# method of random.Random instance Return random integer in
# range [a, b], including both end points.
Nosotros podemos crear cadenas de documentación para nuestras funciones con la siguiente sintaxis:
"""El objetivo de esta funcion es realizar la
suma de los dos valores que recibe como
parametro y retornarlo."""
su=v1+v2
return su
help(sumar) # Help on function sumar in module __main__: sumar(v1, v2)
# El objetivo de esta funcion es realizar la suma de los
# dos valores que recibe como parametro y retornarlo.
Si utilizamos una sola comillas debemos indicar al final de cada línea que continúa:
"El objetivo de esta funcion es realizar la \
suma de los dos valores que recibe como \
parametro y retornarlo."
su=v1+v2
return su
Si tenemos un módulo mínimo llamado: modulo1.py, podemos definir las siguientes cadenas de documentación
def holamundo():
"cadena de documentacion de funcion"
print('Hola Mundo')
El Mundo de Ubuntu en las Redes Sociales
Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Google +, Linkedin, Instagram, Pinterest, restantes Redes Sociales y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!