Logo Studenta

Tipo_Lenguajes_programacion

¡Este material tiene más páginas!

Vista previa del material en texto

Tipos de lenguajes de
programación
HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN
Los primeros lenguajes de programación surgieron de la idea de 
Charles Babagge, a principios del siglo XIX. Este era un profesor 
de matemáticas en la Universidad de Cambridge, que predijo 
muchas de las teorías en que se basan las actuales computadoras.
Estas consistía en lo que él denominaba la maquina analítica, pero 
que por motivos técnicos no pudo construirse hasta mediados del 
siglo XX. Con él colaboro Ada Lovedby, la cual es considerada 
como la primera programadora de la historia, pues realizo 
programas para aquélla supuesta maquina de Babagge, en tarjetas 
perforadas. El uso de tarjetas se inspiró en la creación de Charles 
Jacquard (francés). Este hombre era un fabricante de tejidos y 
había creado un telar que podía reproducir automáticamente 
patrones de tejidos, leyendo la información codificada en patrones 
de agujeros perforados en tarjetas de papel rígido.
Como la maquina no llego nunca a construirse, los programas de 
Ada, lógicamente, tampoco llegaron a ejecutarse, pero supuso un 
punto de partida de la programación, sobre todo si observamos que
en cuanto se empezó a programar, los programadores utilizaron las 
técnicas diseñadas por Charles Babagge, y Ada.
En 1823 el gobierno Británico apoyo a Babagge para crear el 
proyecto de una máquina analítica, un dispositivo mecánico para 
efectuar sumas repetidas. Entonces Babagge intento crear la 
máquina que se pudiera programar con tarjetas perforadas para 
efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la 
tecnología de la época no bastaba para hacer realidad sus ideas. Si 
bien las ideas de Babagge no llegaron a materializarse de forma 
definitiva, su contribución fue decisiva, ya que las computadoras 
actuales responden a un esquema análogo al de la máquina 
analítica. En su diseño, la máquina constaba de cinco unidades 
básicas: 
1. Unidad de entrada, para introducir datos e instrucciones 
2. Memoria, donde se almacenaban datos y resultados 
intermedios
3. Unidad de control, para regular la secuencia de ejecución de 
las operaciones
4. Unidad Aritmético-Lógica, que efectúa las operaciones
5. Unidad de salida, encargada de comunicar al exterior los 
resultados. 
¿Qué son los lenguajes de programación?
Los lenguajes de programación son conjuntos limitados de palabras 
y de símbolos que representan procedimientos, cálculos y otras 
operaciones que llevan a cabo las computadoras.
Lenguajes de programación compilados: Cuando los programas
de una computadora se traducen a código máquina antes de 
ejecutarse, tiene lugar un lenguaje de programa compilado. Se 
diferencia sustancialmente del lenguaje interpretado, porque en 
este último los programas se traducen y también se ejecutan por 
instrucción. Ejemplos: FORTRAN, C/C++, Ada, Julia, C#, etc.
Lenguajes de programación interpretados: Son una alternativa
diferente de los compiladores, que se aplican cuando es necesario 
traducir lenguajes de alto nivel. En vez de traducir el programa 
principal para luego grabarlo de manera permanente en el código 
del objeto, se produce la corrida de compilación para ser usado en 
una corrida de producción posterior. El programador únicamente 
carga el programa principal en la computadora, junto con todos los 
datos que serán procesados. Ejemplos: BASIC, MATLAB, 
MATEMATICAS, MAXIMA. 
Lenguajes de programación declarativos: Son aquellos en los 
cuales se le indica a la computadora cuál es el objetivo planteado, y
que se desea obtener. De esta manera se utilizan buscadores o 
bases de datos, y se traducen las palabras de la búsqueda a la 
computadora que efectuará la acción. Ejemplo: SQL, HTML, XML.
Lenguajes de programación de descripción de máquina: Son 
programas como, por ejemplo, PostScript, que se utilizan para 
denominar la salida a una impresora, traducirla y seguir las 
instrucciones del lenguaje de descripción de la página para 
construir el texto y también los gráficos, que darán lugar a la 
creación de la imagen en la página. El lenguaje de descripción de 
página es como otros lenguajes de la computadora, pero con un 
programa indexado que le permitirá al usuario la manipulación de la
salida.
Lenguajes de programación imperativos: En ciencias de la 
computación se llama lenguajes imperativos a aquellos en los 
cuales se le ordena a la computadora cómo realizar una tarea 
siguiendo una serie de pasos o instrucciones. Ejemplos: BASIC, C, 
C++, Java, Clipper, Dbase, C#, PHP, Perl, etc.
Lenguajes de programación procedurales: En los lenguajes 
procedurales, es la aplicación quien controla qué porciones de 
código se ejecuta, y la secuencia en que este se ejecuta. La 
ejecución de la aplicación se inicia con la primera línea de código, y 
sigue una ruta predefinida a través de la aplicación, llamando 
procedimientos según sea necesario. Ejemplos: PASCAL, ADA, 
ALGOL.
Lenguajes de programación funcional: La programación 
funcional es un paradigma de programación declarativa basado en 
la utilización de funciones matemáticas. El objetivo de la 
programación funcional es conseguir lenguajes expresivos y 
matemáticamente elegantes. Otras características propias de estos 
lenguajes son la no existencia de asignaciones de variables y la 
falta de construcciones estructuradas como la secuencia o la 
iteración (lo que obliga en la práctica a que todas las repeticiones 
de instrucciones se lleven a cabo por medio de funciones 
recursivas). Ejemplo: Python, HASKEL.
Lenguajes orientados a objetos: En la Programación Orientada a
Objetos (POO u OOP según siglas en inglés) se definen los 
programas en términos de "clases de objetos", los objetos que son 
entidades que combinan estado (es decir, datos) comportamiento 
(esto es, procedimientos o métodos) e identidad (propiedad del 
objeto que lo diferencia del resto). La programación orientada a 
objetos expresa un programa como un conjunto de estos objetos, 
que colaboran entre ellos para realizar tareas. Esto permite hacer 
los programas módulos más fáciles de escribir, mantener y 
reutilizar. Ejemplos: Python, C++, Modula, FORTRAN90, SmallTalk, 
PHP. 
Lenguajes de programación de tipado estáticos: Son todas las
expresiones que antes de la ejecución del programa se encargan de
compilar los datos. Son expresiones enteras. Que no pueden ser 
pasadas a una función que espera una cadena, ni pueden 
almacenarse en una variable que está definida como fecha. No se 
pueden modificar, pero sí pueden manejar tipos explícitos o tipos 
inferidos. Ejemplo C/C++, JAVA.
Lenguajes de programación de tipado dinámicos: Son los que 
determinan la validez de los tipos programáticos involucrados en 
las operaciones durante la ejecución del programa. Los lenguajes 
dinámicos, a diferencia de los estáticos, pueden ser manipulados, y 
una misma variable puede ser asociada a distintos valores en 
diferentes momentos de la ejecución del programa. Ejemplo: Python
¿Qué es un dato?
Los datos informáticos son un conjunto de atributos y valores que 
definen las operaciones que se van a procesar en una computadora.
Si se les quiere dar un valor ajeno a su tipo se generará un error. 
Forman parte de un lenguaje de programación propia de la 
informática, aunque también tiene relación con otras ciencias 
formales como la lógica y matemática.
Dinámicos: en este grupo se encuentra el puntero, un tipo 
complejo que ayuda a tener un control mejorado sobre la gestión de
la memoria de los programas. Permiten manejar el tamaño de las 
variables cuando se está ejecutando una operación.
Estáticos: el espacio que ocupan en la memoria no varía mientras 
se ejecuta un programa determinado. Esto quiere decir que se 
declara una variable en especial y se le da un tamaño fijo de 
memoria que no se puede modificar. Éstos pueden ser:
1. Estructurados: constan de colecciones de elementos variados: 
existen las ordenadas que se representan a través del tipo array, 
las sin orden mediante el conjunto y las que tienen otros tiposque 
son llamados registros. Pueden modificarse de un lenguaje a otro.
2. Dato cadena de caracteres (string): la cadena es un conjunto de 
caracteres continuos que pueden contenerse en una sola variable. 
Para establecerlas hay que definirlas con vectores de caracteres, o 
sea, colocando antes la palabra char al identificador y después 
entre corchetes el largo más grande de cadena: char cadena[20]; 
char cadena[20] = “Hola mundo”.
3. Simples: son los más sencillos y básicos, fáciles de comprender. 
La gran parte de los lenguajes de programación los soporta. Éstos 
son:
Ordinales: al grupo de valores que se le puede establecer un 
vínculo entre sus componentes y el conjunto de los números 
naturales. Los más relevantes son:
1. Dato carácter (char): se emplea para tener objetos que 
representen signos tipográficos como letras, signos de 
puntuación, números o espacios. Los caracteres deben 
pertenecer a un cierto código usado en la computadora (es 
normal que sea con el código ASCII). Para identificarlos, se 
antepone la palabra reservada char a la variable: char 
identificador = ‘valor’.
2. Dato entero (integer): en computación es aquel que permite 
representar un subconjunto determinado y finito de números 
enteros, sin parte decimal. El más grande que puede presentar
depende del tamaño del espacio utilizado por el dato y la 
probabilidad existente –o no- de representar números 
negativos. También, están sometidos del lenguaje de 
programación adaptado así como la estructura en cuestión. 
Por ejemplo, si se necesita almacenar una cifra entera y se 
disponen 4 bytes de memoria, se multiplica 4 por 8 y da 32 
bits, con los que se pueden representar 4294967296 valores: 
positivos del o al 4294967296 y negativos-positivos 
-2147483648 al 2147483647.
3. Dato lógico (boolean): es el que permite representar valores
de la lógica binaria, es decir, utilizar variables que sólo 
disponen de dos valores: verdadero o falso. En general, es 
usado en estadística, matemática, electrónica, programación, 
entre otros. Ayudan a mantener el estado de un objeto de un 
objeto determinado a través de dos consideraciones: on/off, 
si/no, verdadero/falso, error/no error, etcétera. Ejemplo: 
(3>2)= 1 = cierto, (7>9)= 0 = falso.
No ordinales: posibilitan declarar variables que pueden tener 
valores dentro de los números con partes decimales. Por lo tanto, 
no se pueden contar y las relaciones entre sus elementos y los 
números naturales no se puede realizar:
1. Dato real (float): se utilizan para representar números 
reales, o sea, con decimales. Para los cálculos es un tipo muy 
importante. En las estadisticas se observan mucho ya que 
tratan con variables decimales. Se antepone la palabra float 
para identificarlos. Por ejemplo: float numero1, numero2; float
numero3 = 123.43.
Python
Principales Características de Python 
Python es un lenguaje de programación creado por Guido van 
Rossum a finales de los ochenta (el nombre Python viene del 
programa inglés Monthy Python), y que gracias a sus características
ha llegado a ser un lenguaje muy conocido en la actualidad. A 
continuación se listan las principales características que este 
lenguaje posee:
Simple: Python es un lenguaje muy simple, por lo que es muy fácil 
iniciarse en este lenguaje. El pseudo-código natural de Python es 
una de sus grandes fortalezas.
Propósito General: Usando el lenguaje Python se puede crear 
todo tipo de programas; programas de propósito general y también 
se pueden desarrollar páginas Web.
Open Source: Debito a la naturaleza de Python de ser Open 
Suorce; ha sido modificado para que pueda funcionar en diversas 
plataformas (Linux, Windows, Macintosh, Solaris, OS/2, Amiga, 
AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, 
Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE y 
PocketPC).
Lenguaje Orientado a Objetos: Al ser un Lenguaje Orientado a 
Objetos es construido sobre objetos que combinan datos y 
funcionalidades.
Lenguaje de Alto Nivel: Al programar en Python no nos debemos 
preocupar por detalles de bajo nivel, (como manejar la memoria 
empleada por el programa).
Incrustable: Se puede insertar lenguaje Python dentro un 
programa C/C++, FORTRAN90 y de esta manera ofrecer las 
facilidades del scripting.
Extensas Bibliotecas: Python contiene una gran cantidad de 
bibliotecas (informalmente en el mundo informático se les dice 
librerías), tipos de datos y funciones incorporadas en el propio 
lenguaje, que ayudan a realizar muchas tareas comunes sin 
necesidad de tener que programarlas desde cero.
Las librerías pueden ayudar a hacer varias cosas como expresiones 
regulares, generación de documentos, evaluación de unidades, 
pruebas, procesos, bases de datos, navegadores web, CGI, ftp, 
correo electrónico, XML, XML-RPC, HTML, archivos WAV, criptografía,
GUI, y también otras funciones dependientes del Sistema.
Sintaxis clara: Python tiene una sintaxis muy visual, gracias a que
maneja una sintaxis identada (con márgenes), que es de caracter 
obligatorio. Para separar los bloques de código en Python se debe 
tabular hacia dentro. Esto ayuda a que todos los programadores 
adopten las mismas notaciones y que los programas hechos en 
Python tengan un aspecto muy similar.
Conceptos fundamentales de la programación orientada a 
objetos (POO)
Como ejemplo de objeto tomo las matrices, pues matriz es en si un 
meta concepto el cual involucra a un conjunto de arreglo de 
números sobre los cuales se define operaciones de cuerpo como ser
la suma y el producto entre matrices, así como operaciones de 
producto por un escalar. Por lo que matriz ≉ arreglo, error común 
que se incurre en muchos cursos de computación.
Entre los conceptos nuevos de la POO se destacan:
Clase: Definiciones de las propiedades y comportamiento de un 
tipo de objeto concreto. La instanciación es la lectura de estas 
definiciones y la creación de un objeto a partir de ella. 
Herencia: Por ejemplo, herencia de la clase C a la clase D, es la 
facilidad mediante la cual la clase D hereda en ella cada uno de los 
atributos y operaciones de C, como si esos atributos y operaciones 
hubiesen sido definidos por la misma D. Por lo tanto, puede usar los
mismos métodos y variables públicas declaradas en C. Los 
componentes registrados como "privados" (private) también se 
heredan, pero como no pertenecen a la clase, se mantienen 
escondidos al programador y sólo pueden ser accedidos a través de
otros métodos públicos. En el caso de los componentes registrados 
como "protegidos" (protected) también se heredan, pero solo para 
esa clase, no para futuras clases heredadas. 
Objeto: Instancia de una clase. Entidad provista de un conjunto de 
propiedades o atributos (datos) y de comportamiento o 
funcionalidad (métodos), los mismos que consecuentemente 
reaccionan a eventos. Se corresponden con los objetos reales del 
mundo que nos rodea, o con objetos internos del sistema (del 
programa). 
Método: Algoritmo asociado a un objeto (o a una clase de objetos),
cuya ejecución se desencadena tras la recepción de un "mensaje". 
Desde el punto de vista del comportamiento, es lo que el objeto 
puede hacer. Un método puede producir un cambio en las 
propiedades del objeto, o la generación de un "evento" con un 
nuevo mensaje para otro objeto del sistema. 
Evento: Es un suceso en el sistema (tal como una interacción del 
usuario con la máquina, o un mensaje enviado por un objeto). El 
sistema maneja el evento enviando el mensaje adecuado al objeto 
pertinente. También se puede definir como evento la reacción que 
puede desencadenar un objeto; es decir, la acción que genera. 
Atributos: Características que tiene la clase. 
Mensaje: Una comunicación dirigida a un objeto, que le ordena que
ejecute uno de sus métodos con ciertos parámetros asociados al 
evento que lo generó. 
Estado interno: Es una variable que se declara privada, que 
puede ser únicamente accedida y alterada por un método del 
objeto, y que se utiliza para indicar distintas situacionesposibles 
para el objeto (o clase de objetos). No es visible al programador que
maneja una instancia de la clase. 
Características de la POO
Abstracción: Denota las características esenciales de un objeto, 
donde se capturan sus comportamientos. Cada objeto en el sistema
sirve como modelo de un "agente" abstracto que puede realizar 
trabajo, informar y cambiar su estado, y "comunicarse" con otros 
objetos en el sistema sin revelar "cómo" se implementan estas 
características. Los procesos, las funciones o los métodos pueden 
también ser abstraídos, y, cuando lo están, una variedad de 
técnicas son requeridas para ampliar una abstracción. El proceso de
abstracción permite seleccionar las características relevantes 
dentro de un conjunto e identificar comportamientos comunes para 
definir nuevos tipos de entidades en el mundo real. La abstracción 
es clave en el proceso de análisis y diseño orientado a objetos, ya 
que mediante ella podemos llegar a armar un conjunto de clases 
que permitan modelar la realidad o el problema que se quiere 
atacar.
Encapsulación: Significa reunir todos los elementos que pueden 
considerarse pertenecientes a una misma entidad, al mismo nivel 
de abstracción. Esto permite aumentar la cohesión (diseño 
estructurado) de los componentes del sistema.
Polimorfismo: Comportamientos diferentes, asociados a objetos 
distintos, pueden compartir el mismo nombre; al llamarlos por ese 
nombre se utilizará el comportamiento correspondiente al objeto 
que se esté usando. O, dicho de otro modo, las referencias y las 
colecciones de objetos pueden contener objetos de diferentes tipos,
y la invocación de un comportamiento en una referencia producirá 
el comportamiento correcto para el tipo real del objeto 
referenciado. Cuando esto ocurre en "tiempo de ejecución", esta 
última característica se llama asignación tardía o asignación 
dinámica. Algunos lenguajes proporcionan medios estáticos (en 
"tiempo de compilación") de polimorfismo, tales como las plantillas 
y la sobrecarga de operadores de C++.
Modularidad: Se denomina "modularidad" a la propiedad que 
permite subdividir una aplicación en partes más pequeñas 
(llamadas módulos), cada una de las cuales debe ser tan 
independiente como sea posible de la aplicación en sí y de las 
restantes partes. Estos módulos se pueden compilar por separado, 
pero tienen conexiones con otros módulos. Al igual que la 
encapsulación, los lenguajes soportan la modularidad de diversas 
formas.
Recolección de basura: La recolección de basura (garbage 
collection) es la técnica por la cual el entorno de objetos se encarga
de destruir automáticamente, y por tanto desvincular la memoria 
asociada, los objetos que hayan quedado sin ninguna referencia a 
ellos. Esto significa que el programador no debe preocuparse por la 
asignación o liberación de memoria, ya que el entorno la asignará al
crear un nuevo objeto y la liberará cuando nadie lo esté usando. En 
la mayoría de los lenguajes híbridos que se extendieron para 
soportar el Paradigma de Programación Orientada a Objetos como 
C++ o FORTRAN99, esta característica no existe y la memoria debe 
liberarse expresamente. 
Códigos Paradigma
# sucesion de Fobonacci 
# el identado (4 espacios) define 
# el ámbito de la estructura de control
a, b = 0, 1
while b<10:
 print b
 a, b=b , a+b
Se lo guarda en un archivo ASCII cómo paradigma.py (extensión no 
obligatoria) y se lo ejecuta desde una terminal vt220como:
$ python codigo_paradigma.py
1
1
2
3
5
8
Probar que pasa con estos códigos
a,b=0,1
while b<50:
 print b,
 a,b=b,a+b
# pirámide de Tartaglia
def facto(x): return (1 if x==0 else x*facto(x-1))
def pot2(x): return (1 if x==0 else 2*pot2(x-1))
n=32
for i in range(n):
for j in range(i+1):
print (facto(i)/(facto(j)*facto(i-j))),
print
#Ejemplo de multiparadigma
a=['gato', 'perro', 'caca']
for x in a:
 print x, len(x)
 
for x in range(len(a)):
 print x, a[x]
Tipos de datos básicos en Python
NOTA: Todos los tipos básicos en Python, a diferencia de C/C++ y 
FORTRAN90, son objetos propios del lenguaje o lo que en inglés se 
llama build-in.
Enteros: Los números enteros son aquellos que no tienen 
decimales, tanto positivos como negativos (además del cero). En 
Python se pueden representar mediante el tipo int (de integer, 
entero asignación heurística) o el tipo long (largo). La única 
diferencia es que el tipo long permite almacenar números más 
grandes. Es aconsejable no utilizar el tipo long a menos que sea 
necesario, para no malgastar memoria. Podemos indicar a Python 
que un número se almacene usando long añadiendo una L al final, 
por ejemplo entero=23L.
Flotantes o Reales: Los números reales son los que tienen 
decimales. En Python se expresan mediante el tipo float 
(heurístico). En otros lenguajes de programación, como C, tenemos 
también el tipo double, similar a float pero de mayor precisión 
(double = doble precisión). Python, sin embargo, implementa su 
tipo float a bajo nivel mediante una variable de tipo double de C, es 
decir, utilizando 64 bits, luego en Python siempre se utiliza doble 
precisión, y en concreto se sigue el estándar IEEE 754. real = 
0.2703 o real = 0.1e-3.
Complejos: Los números complejos en Python se representan de la
siguiente forma complejo = 2.1 + 7.8j (heurístico).
Cadenas o String: Las cadenas no son más que texto encerrado 
entre comillas simples (‘cadena’) o dobles (“cadena”). Dentro de las
comillas se pueden añadir caracteres especiales escapándolos con 
‘\’, como ‘\n’, el carácter de nueva línea, o ‘\t’, el de tabulación. Una
cadena puede estar precedida por el carácter ‘u’ o el carácter ‘r’, 
los cuales indican, respectivamente, que se trata de una cadena 
que utiliza codificación Unicode y una cadena raw (del inglés, 
cruda). Las cadenas también admiten operadores como la suma 
(concatenación de cadenas) y la multiplicación. 
a = "uno"
b = "dos"
c = a + b # c es "unodos"
c = a * 3 # c es "unounouno"
Booleanos: El tipo booleano sólo puede tener dos valores: True 
(cierto) y False (falso). Estos valores son especialmente 
importantes para las expresiones condicionales y los bucles, como 
veremos más adelante.
Listas (mutables), túplas (inmutables), diccionarios y 
conjuntos (set)
Las listas, tuplas, diccionarios y conjuntos (set) son estructuras que
permiten trabajar con colecciones de datos. El primer elemento de 
una lista o de una tupla es el 0.
Lista: Una lista es una estructura de datos que contiene una 
colección o secuencia de datos. Los datos o elementos de una lista 
deben ir separados con una coma y todo el conjunto entre 
corchetes. Se dice que una lista es una estructura mutable porque 
además de permitir el acceso a los elementos, pueden suprimirse o 
agregarse nuevos.
ListaEstaciones = [“Invierno”, “Primavera”, “Verano”, “Otoño”] # 
Declara lista
Tuplas: Una tupla permite tener agrupados un conjunto 
inmutable de elementos, es decir, en una tupla no es posible 
agregar ni eliminar elementos. Las tuplas se declaran separando los
elementos por comas y éstos, opcionalmente, pueden ir entre 
paréntesis.
TuplaDiasSemana = “LU”, “MA”, “MI”, “JU”, “VI”, “SA”, “DO” 
Diccionarios: Los diccionarios son objetos que contienen una lista 
de parejas de elementos. De cada pareja un elemento es la clave, 
que no puede repetirse, y, el otro, un valor asociado. La clave que 
se utiliza para acceder al valor tiene que ser un dato inmutable 
como una cadena, mientras que el valor puede ser un número, una 
cadena, una lista o una tupla. Los pares clave-valor están separados
por dos puntos y las parejas por comas y todo el conjunto se 
encierra entre llaves.
capitales = {'Chile':'Santiago', 'España':'Madrid', 'Francia':'París'}
Conjuntos: Un conjunto es una lista de elementos donde ninguno 
de ellos está repetido. A partir de una lista, en la que pueden haber 
elementos repetidos, con set podemos crear otra lista con todos los 
elementos sin repetir ninguno. Además, si tenemos varias listas 
podemos realizar operaciones deconjuntos de unión, diferencia, 
intersección y diferencia simétrica.
lista = ['vino', 'cerveza', 'agua', 'vino'] # define lista
bebidas = set(lista) # define conjunto a partir de una lista
print('vino' in bebidas) # True, 'vino' está en el conjunto
print('anis' in bebidas) # False, 'anis' no está en el conjunto
print(bebidas) # imprime {'agua', 'cerveza', 'vino'}
Códigos Paradigma
Cadenas
cadena1 = 'tengo una yama que Yama se llama' # declara variable
lista1 = ['pera', 'manzana', 'naranja', 'uva'] # declara lista
longitud = len(cadena1) # 32, devuelve longitud de la cadena
elem = len(lista1) # 4, devuelve nº elementos de la lista 
cuenta = cadena1.count('yama') # 1, cuenta apariciones de la 
palabra 'yama'
print(cadena1.find('yama')) # 10, devuelve posición del elemento 
buscado 
cadena2 = cadena1.join('***') # inserta cadena1 entre caracteres 
lista1 = cadena1.split(' ') # divide cadena por separador lista→
tupla1 = cadena1.partition(' ') # divide cadena por separador →
tupla 
cadena2 = cadena1.replace('yama','cabra',1) # busca y sustituye 
términos 
numero = 3.14 # asigna número con decimales
cadena3 = str(numero) # convierte número a cadena
if cadena1.startswith("tengo"): # evalúa si cadena1 comienza por 
“tengo”: True
if cadena1.endswith("llama"): # evalúa si cadena1 termina por 
“llama”: True
if cadena1.find("llama") != -1: # evalúa si cadena1 contiene la 
palabra “llama”
cadena4 = 'Python' # asigna una cadena a una variable
print(cadena4[0:4]) # muestra desde la posición 0 a 4: "Pyth"
print(cadena4[1]) # muestra la posición 1: "y"
print(cadena4[:3] + '-' + cadena4[3:]) # muestra "Pyt-hon"
print(cadena4[:-3]) # muestra todo menos las tres últimas: "Pyt"
 
cadena5 = " abc;123 " # declara una variable con una cadena 
alfanumérica
print(cadena5.rstrip()) # suprime caracteres en blanco (y 
\t\n\r) por la derecha: " abc;123"
print(cadena5.lstrip()) # suprime caracteres en blanco (y 
\t\n\r) por la izquierda: "abc;123 "
print(cadena5.strip()) # suprime caracteres en blanco (y \t\n\r)
por la derecha e izquierda: "abc;123"
print(cadena5.strip("123456790; ")) # suprime caracteres del 
argumento por la derecha e izquierda: "abc"
cadena6 = "Mar" # declara una variable
print(cadena5.upper()) # convierte la cadena a mayúsculas: "MAR"
print(cadena5.lower()) # convierte la cadena a minúsculas: "mar"
Listas y tuplas
lista1 = ['uno', 2, True] # declara una lista heterogénea
lista2 = [1, 2, 3, 4, 5] # declara lista numérica (homogénea)
lista3 = ['nombre', ['calle', 'ciudad']] # declara una lista 
dentro de otra
lista4 = [54,45,44,22,0,2,99] # declara una lista numérica
print(lista1) # ['uno', 2, True], muestra toda la lista
print(lista1[0]) # uno, muestra el primer elemento de la lista
print(lista2[-1]) # 5, muestra el último elemento de la lista
print(lista3[1][0]) # calle, primer elemento de la lista anidada
print(lista2[0:3:1]) # [1, 2, 3], responde al patrón 
inicio:fin:paso
print(lista2[::-1]) # devuelve la lista ordenada al revés
lista1[2] = False # cambia el valor de un elemento de la lista
lista2[-2] = lista2[-2] + 1 # 4 + 1 5 – cambia el valor de un →
elemento
lista2.pop(0) # borra elemento indicado o último si no indica
lista1.remove('uno') # borra el primer elemento que coincida
del lista2[1] # borra el segundo elemento (por índice) 
lista2 = lista2 + [6] # añadiendo un elemento al final de la 
lista
lista2.append(7) # añade un elemento al final con append()
lista2.extend([8, 9]) # extiende la lista con otra lista por el 
final
lista1.insert(1, 'dos') # inserta nuevo elemento en una posición
del lista2[0:3] # borra los elementos desde:hasta
lista2[:] = [] # borra todos los elementos de la lista 
print(lista1.count(2)) # cuenta el nº de veces que aparece 2
print(lista1.index("dos")) # busca la posición que ocupa un 
elemento
lista3.sort() # ordena la lista
lista3.sort(reverse=True) # ordena la lista en orden inverso
lista5 = sorted(lista4) # ordena lista destino 
tupla1 = (1, 2, 3) # declara una tupla (se usan paréntesis)...
tupla2 = 1, 2, 3 # ...aunque pueden declararse sin paréntesis
tupla3 = (100,) # con un solo un elemento hay que poner “,”
tupla4 = tupla1, 4, 5, 6 # anida tuplas
tupla5 = () # declara una tupla vacía
tupla2[0:3] # (1, 2, 3), accede a los valores desde:hasta
Diccionarios
dic1 = { 'Lorca' : 'Escritor', 'Goya' : 'Pintor'} # declara 
diccionario 
print(dic1) # {'Goya': 'Pintor', 'Lorca': 'Escritor'}
dic2 = dict((('mesa', 5), ('silla', 10))) # declara a partir de 
una tupla
dic3 = dict(ALM=5, CAD=10) # declara a partir de cadenas simples 
dic4 = dict([(z, z**2) for z in (1, 2, 3)]) # declara a partir de
patrón
print(dic4) # muestra {1: 1, 2: 4, 3: 9}
print(dic1['Lorca']) # escritor, acceso a un valor por clave
print(dic1.get('Gala', 'no existe')) # acceso a un valor por 
clave
if 'Lorca' in dic1: print('está') # comprueba si existe una clave
print(dic1.items()) # obtiene una lista de tuplas clave:valor
print(dic1.keys()) # obtiene una lista de las claves
print(dic1.values()) # obtiene una lista de los valores
dic1['Lorca'] = 'Poeta' # añade un nuevo par clave:valor
dic1['Amenabar'] = 'Cineasta' # añade un nuevo par clave:valor
dic1.update({'Carreras' : 'Tenor'}) # añadir con update()
del dic1['Amenábar'] # borra un par clave:valor 
print(dic1.pop('Amenabar', 'no está')) # borra un par clave:valor
Conjuntos
lista = ['vino', 'cerveza', 'agua', 'vino'] # define lista
bebidas = set(lista) # define conjunto a partir de una lista
print('vino' in bebidas) # True, 'vino' está en el conjunto
print('anis' in bebidas) # False, 'anis' no está en el conjunto
print(bebidas) # imprime {'agua', 'cerveza', 'vino'}
bebidas2 = bebidas.copy() # crea nuevo conjunto a partir de copia
print(bebidas2) # imprime {'agua', 'cerveza', 'vino'}
bebidas2.add('anis') # añade un nuevo elemento 
print(bebidas2.issuperset(bebidas)) # True, bebidas es un 
subconjunto
bebidas.remove('agua') # borra elemento
print(bebidas & bebidas2) # imprime elementos comunes
tapas = ['croquetas', 'solomillo', 'croquetas'] # define lista
conjunto = set(tapas) # crea conjunto (sólo una de croquetas)
if 'croquetas' in conjunto: # evalúa si croquetas está en 
conjunto
conjunto1 = set('Python') # define conjunto: P, y, t, h, o, n 
conjunto2 = set('Pitonisa') # define conjunto: P, i, t, o, n, s, 
a
print(conjunto2 - conjunto1) # aplica diferencia: s, i, a
print(conjunto1 | conjunto2) # aplica unión: P, y, t, h, o, n, i,
s, a 
print(conjunto1 & conjunto2) # aplica intersección: P, t, o, n
print(conjunto1 ^ conjunto2) # aplica diferencia simétrica: y, h,
i, s, a
	Códigos Paradigma
	Códigos Paradigma

Continuar navegando

Materiales relacionados

50 pag.
Unidad-I---POO-Avanzada

UBAM

User badge image

Contenidos Muy Locos

111 pag.
TutorialPython3

SIN SIGLA

User badge image

matica121314

285 pag.
Python_facil

SIN SIGLA

User badge image

mario_roldan123