Está en la página 1de 11

Elementos Básicos de del Lenguaje.

1.1 Conceptos Generales.


En términos técnicos, Python es un lenguaje de programación de alto nivel,
orientado a objetos, con una semántica dinámica integrada, principalmente
para el desarrollo web y de aplicaciones informáticas.

Es muy atractivo en el campo del Desarrollo Rápido de Aplicaciones (RAD)


porque ofrece tipificación dinámica y opciones de encuadernación dinámicas.
Python es relativamente simple, por lo que es fácil de aprender, ya que
requiere una sintaxis única que se centra en la legibilidad. Los desarrolladores
pueden leer y traducir el código Python mucho más fácilmente que otros
lenguajes.

Por tanto, esto reduce el costo de mantenimiento y de desarrollo del programa


porque permite que los equipos trabajen en colaboración sin barreras
significativas de lenguaje y experimentación.

1.2 Estructura de un programa


Las estructuras de datos en Python se pueden entender como un tipo de dato
compuesto, debido a que en una misma variable podemos almacenar una
estructura completa con información. Dichas estructuras, pueden tener
diferentes características y funcionalidades. De hecho, existen múltiples tipos
de estructuras de datos en Python.
Las estructuras de datos que nos ofrece este maravilloso lenguaje de
programación de forma nativa. Cubriremos lo siguiente:
 Listas
 Tuplas
 Sets
 Strings
 Diccionarios

Listas: Las listas o arrays en python son estructuras de datos muy flexibles en
las que podemos mezclar valores de varios tipos, o bien que sean de un solo
tipo. Su declaración es sencilla y obedece un formato JSON estándar.
Append y Extend: Las dos operaciones básicas en las listas son las de
append y extend. La diferencia entre estas dos operaciones es que append
agrega un elemento al final de la lista, mientras que extend es capaz de
agregar otra lista al final de la lista.

1- Append 2- Extend

Operaciones con listas: Ahora veamos todas las operaciones posibles con
listas en python:

 Index: Nos devuelve la posición en la lista del elemento indicado.


 Insert: Inserta un elemento en la lista según el indicie deseado.
 Remove: De manera similar se puede remover un elemento de la lista.
 Pop: Pop devuelve el último elemento de la lista y posteriormente lo
remueve de la misma.
 Count: Devuelve la cuenta de elementos actualmente en la lista.
 Sort: Existen varias posibilidades de ordenar un arreglo según se
indique en el método sort. Para ordenar en orden ascendente por default
o bien en orden descendente. O se puede simplemente invertir el orden
de los elementos sin ordenarlos previamente.
 Tuplas: Las tuplas son como las listas, excepto que en este caso son
inmutables. Una tupla consiste de varios valores separados por comas.
Algunas funciones de las listas también funcionan en las tuplas, como
len y la sintaxis para obtener porciones del arreglo o slicing. Una cosa
importante que hay que notar con las tuplas, es que como los paréntesis
también se usan en python para agrupar expresiones, si quisiéramos
crear una tupla con un solo valor simplemente agregamos una coma al
final.
 Sets: Los sets en python son listas sin un orden específico pero cuyos
elementos son únicos, es decir, no existe la repetición. Y para definir
uno hay que explícitamente indicar que queremos que la lista sea un set
con la función con el mismo nombre.
 Strings: Una de las cosas curiosas sobre python, es que en muchas
maneras podemos manipular strings de la misma manera como se
manipulan las listas. Esto convierte a los strings en una especie de
estructura de datos conveniente de usar.
 Diccionarios: Un diccionario en python actua de manera similar a una
lista, excepto que el indice de este no necesariamente tiene que ser un
numero entero, y se asemejan bastante a un objeto JSON. Para borrar
un elemento de un diccionario, utilizamos el comando del. El mentodo
keys devuelve todas las llaves en el diccionario. El metodo value
devuelve todos los valores dentro del diccionario, y el metodo items
devuelve todos los pares llave-valor dentro del diccionario en cuestión.
Podemos iterar facilmente en un diccionario utilizando la notacion for…
in. Asi mismo podemos obtener un item de la lista especificamente con
el metodo get, y definir que regresar en caso el item no exista dentro del
diccionario.

1.3 Datos, tipos de datos y operaciones básicas.


En Python podemos encontrar distintos tipos de datos con diferentes
características y clasificaciones.
Los tipos de datos básicos de Python son los booleanos, los numéricos
(enteros, punto flotante y complejos) y las cadenas de caracteres.

1. Tipos numéricos: Python define tres tipos de datos numéricos básicos:


enteros, números de punto flotante y los números complejos.

1.1 Números enteros: El tipo de los números enteros es int. Este


tipo de dato comprende el conjunto de todos los números
enteros, pero como dicho conjunto es infinito, en Python el
conjunto está limitado realmente por la capacidad de la memoria
disponible. No hay un límite de representación impuesto por el
lenguaje.
2.1 Números flotantes: Puedes usar el tipo float sin problemas para
representar cualquier número real (siempre teniendo en cuenta
que es una aproximación lo más precisa posible). Por tanto para
longitudes, pesos, frecuencias, …, en los que prácticamente es lo
mismo 3,3 que 3,3000000000000003 el tipo float es el más
apropiado.
3.1 Números complejos: Los números complejos tienen una parte
real y otra imaginaria y cada una de ellas se representa como un
float. Para crear un número complejo, se sigue la siguiente
estructura <parte_real>+<parte_imaginaria>j. Y se puede acceder
a la parte real e imaginaria a través de los atributos real e imag:

2. Tipos Booleano: En Python la clase que representa los valores


booleanos es bool. Esta clase solo se puede instanciar con dos
valores/objetos: True para representar verdadero y False para
representar falso.
Una particularidad del lenguaje es que cualquier objeto puede ser usado
en un contexto donde se requiera comprobar si algo es verdadero o
falso. Por tanto, cualquier objeto se puede usar en la condición de un if o
un while o como operando de una operación booleana.

3. Tipo Cadena de Caracteres: Otro tipo básico de Python, e


imprescindible, son las secuencias o cadenas de caracteres. Este tipo
es conocido como string aunque su clase verdadera es str.
Formalmente, un string es una secuencia inmutable de caracteres en
formato Unicode. Para crear un string, simplemente tienes que encerrar
entre comillas simples '' o dobles "" una secuencia de caracteres.
Se puede usar indistintamente comillas simples o dobles, con una
particularidad. Si en la cadena de caracteres se necesita usar una
comilla simple, tienes dos opciones: usar comillas dobles para encerrar
el string, o bien, usar comillas simples pero anteponer el carácter \ a la
comilla simple del interior de la cadena. El caso contrario es similar.

Operaciones aritméticas.
Con los números podemos realizar operaciones como si Python se
tratase de una simple calculadora. Para empezar tenemos las cuatro
operaciones básicas que son: suma (+), resta (-), multiplicación (*) y
división (/).
Otras operaciones básicas que podemos realizar son el módulo y la
potencia. El módulo consiste en obtener el residuo de una división. Así
pues, decimos que el resultado de la operación 10 módulo 3 es 1, ya
que 3 * 3 + 1 = 10. Esta operación se realiza en Python con el símbolo
de tanto por ciento (%). Una de las utilidades de esta operación es
comprobar si un número es par o impar. Si el número es par, entonces
su modulo dos es cero.
La potencia se puede calcular en Python con un doble asterisco (**) o
con el método pow(). En este caso podemos decir por ejemplo que 2
elevado a 4 es 16.
Adicionalmente, también podemos realizar operaciones sobre números
aislados como obtener su valor absoluto o redondearlo. El valor absoluto
(o módulo) de un número es el valor positivo de ese número
indistintamente de su signo, y en Python se calcula con la función
integrada abs().
Aparte podemos realizar otras operaciones matemáticas como la raíz
cuadrada, logaritmos, funciones trigonométricas, etc. mediante las
funciones disponibles en el módulo math de Python. Con el módulo
math también podemos hacer uso de constantes matemáticas como el
número pi o el número e.

1.4 Identificadores, constantes y variables.


Identificadores: El nombre de la variable se conoce como identificador. Hay
pocas reglas que debes seguir al nombrar las variables en Python.
Por ejemplo aquí la variable es de tipo entero que tiene el valor 10. El nombre
de la variable, que es num se llama identificador.

1. El nombre de la variable siempre debe empezar con una letra o un guión


bajo (_). Por ejemplo: _str, str, num, _num son todos nombres válidos para
las variables.
2. El nombre de la variable no puede comenzar con un número. Por ejemplo:
9num no es un nombre de variable válido.
3. El nombre de la variable no puede tener caracteres especiales como %, $,
# etc., sólo pueden tener caracteres alfanuméricos y guión bajo (A a Z, a a
z, 0-9 o _ ).
4. El nombre de la variable es sensible a mayúsculas y minúsculas en Python,
lo que significa que num y NUM son dos variables diferentes en Python.
Constantes: No hay constantes en Python, pero sí hay forma de declarar una
constante y esperar a que los demás respeten. Al final, la constante será una
variable pero con un nombre característico.
Recordemos que por regla general (para indicar que es una constante) las
constantes se indican con mayúsculas, y si tienen espacios se sustituyen por
guiones bajos.
Eso lo podemos declarar en la parte superior de nuestro programa y podremos
leerla desde otros lugares (mira sobre las variables globales aquí).
Lo malo de esto es que, en cualquier momento, otro programador puede
modificar la constante, porque de que puede, puede; aunque no debería.
Variables: Una variable es un sitio donde guardamos una determinada
información. En función del tipo de información que guardemos (texto,
números, booleanas, etc.), la variable será de uno u otro tipo. Por simplicidad
sólo vamos a ver las variables de texto y numéricas, ya que son las que se
usan en más del 80% de las ocasiones.
 Numero: En números hay dos tipos principales, los números enteros
(llamados int) y los reales (llamados float). El separador decimal que
tenemos que usar es el punto.
Aunque si no decimos el tipo de número que va a contener, Python
intentará decidir por si mismo cuál es el más apropiado, esto en
ocasiones produce errores.
 Texto: Las variables que almacenan texto se denominan strings (str).
Tienen que estar entre comillas sencillas(‘) o dobles («), o si el texto
ocupa varias líneas, entre triples comillas dobles («»») .
Al igual que sucedía con los números, Python supone que lo que
introducimos es un texto al estar entre comillas, aunque siempre
podemos forzarle a interpretarlo como texto usando el comando str.
 Print y variables: Como hemos visto, el comando print es de gran
utilidad para que el programa pueda comunicarse con nosotros. Este
comando muestra el texto que pongamos, o incluso el valor que hay
dentro de una variable. En el caso de que juntemos texto y números,
debemos tomar la precaución de convertir los números en texto, ya que
si no, Python no sabe cómo se hace la suma de un texto y un número.

1.5 Operadores aritméticos, relacionales, lógicos y de


asignación.

Operaciones aritméticas: En cuanto a los operadores aritméticos, estos


permiten realizar las diferentes operaciones aritméticas del álgebra: suma,
resta, producto, división.
Operaciones relacionales: Un operador relacional se emplea para comparar y
establecer la relación entre ellos. Devuelve un valor booleano (true o false)
basado en la condición.

Operaciones Lógicas: Se utiliza un operador lógico para tomar una decisión


basada en múltiples condiciones. Los operadores lógicos utilizados en Python
son and, or y not.

Operaciones de asignación: Se utiliza


un operador de asignación para asignar
valores a una variable. Esto
generalmente se combina con otros
operadores (como aritmética, bit a bit)
donde la operación se realiza en los
operandos y el resultado se asigna al
operando izquierdo.
1.6 Expresiones.

1.6.1 Expresiones Aritméticas: una expresión


aritmética es una combinación de valores
numéricos, operadores y, a veces,
paréntesis. El resultado de este tipo de
expresión también es un valor numérico.
Los operadores usados en estas
expresiones son operadores aritméticos
como suma, resta, etc. Aquí hay algunos
operadores aritméticos en Python:

1.6.2 Reglas de prioridad: Los operadores de Python tienen un orden de


prioridad establecido , que determina qué operadores se evalúan primero
en una expresión potencialmente ambigua. Por ejemplo, en la expresión 3 *
2 + 7, primero se multiplica 3 por 2, y luego el resultado se agrega a 7,
obteniendo 13. La expresión no se evalúa al revés, porque * tiene una
precedencia más alta que +.

Operador Descripción
Lambda Expresión lambda
Si Expresión condicional
o Booleano o
y Booleano y
No X Booleano no
En, no, en, es, no es, <, <=, >, >=, Comparaciones, incluyendo
<>, ¡ =, == pruebas de membresía y pruebas
de identidad.
| Bitwise o
^ Bitwise XOR
Y Y a nivel de bit
<<, >> Turnos
+, - Adición y sustracción
*, /, , //, % Multiplicación, división, resto [8]
+ x, - x, ~ x Positivo, negativo, a nivel a bit NO
** Exposición [9]
x [índice], x [índice: índice], x Suscripción, corte, llamada, atributo
(argumentos…), x.attribute de referencia
(exprsiones …), [expresiones …], Encuadernación o visualización de
{clave: valor …}, expresiones … tupla, visualización de lista,
visualización de diccionario,
conversión de cadena.
1.6.3 Reglas de prioridad: Es evaluada como verdadera (true) o falsa (false).
Python provee el tipo de dato booleano que puede contener los valores
True o False. Muchas funciones y operaciones retornan objetos booleanos.
La palabra reservada not puede ser utilizada para invertir un valor
booleano.

Todo objeto en Python tiene un valor booleano. Los siguientes elementos


se evalúan como False:

 None
 False
 0 (sea un entero o un número de coma flotante).
 Colecciones vacías (cadenas, tuplas, listas y diccionarios – "", (,), [], {}).
 Instancias de clases que contengan el método especial __nonzero__().
 Instancias de clases que implementen __len__() para retornar False o
cero.

El resto de los objetos se evalúan como True.

Los operadores <, <=, >, >=, == y != comparan el valor de dos objetos y
retornan True o False. La comparación depende del tipo de los objetos.
Véase este enlace (en inglés) para saber cómo redefinir el operador de
comparación de una clase.

La comparación es efectuada entre cada par de los términos a evaluar. Así,


en el primer ejemplo, Python primero evalúa 1 < x y luego x < 3. Si ambos
son verdaderos, entonces el resultado de la comparación también lo es. De
esto se deduce que a < b < c es equivalente a (a < b) and (b < c), lo cual
difiere del comportamiento de otros lenguajes en los que dicha expresión
sería considerada como (a < b) < c.

1.7 Entornos de desarrollo integrados para el lenguaje de


programación.

Cualquier editor de texto podría servir para programar en cualquier lenguaje,


pero necesitaría programas externos para integrar funcionalidades específicas
para Python como:

 Coloreado de sintaxis propia de Python.


 Documentación de módulos Python.
 Soporte de entornos de ejecución.
 Validadores de sintaxis.
 Validadores de estilos y seguimiento del PEP-8.
 Depurador de código Python.

Los IDEs para Python que se presentan a continuación se pueden separar en 3


grupos ordenados desde más específicos a más generalistas:

 Entornos de desarrollo orientados a desarrollo Python.


 Entornos que soportan múltiples lenguajes (generalistas) que usan
complementos para dar soporte a python
 Editores de texto potentes que añadiendo muchos complementos
manualmente soportan Python.

IDEs exclusivamente para desarrollo Python


La gran ventaja que presentan los entornos de desarrollo diseñados para
desarrollar aplicación Python es que todas las herramientas están integradas y
enfocadas a ser más productivo en Python.
En general ofrecen una mejor experiencia para los desarrolladores conociendo
perfectamente el ecosistema de Python, dando soporte para ejecuciones,
depuración, documentación, análisis de rendimiento y un largo etcétera.

Pycharm
Es quizás el IDE más uitlizado por profesionales de desarrollan aplicaciones en
Python y las características que lo destacan de los demás son las siguientes:
 Soporta depuración de código profesional e intuitiva.
 Ejecución de test soportando unittest, nosetests y pytests.
 Soporte de entornos virtuales.
 Soporte de múltiples versiones de Python.
 Coloreado de sintaxis, comprobación de PEP-8, formateado automático,
optimización de importaciones, etc.
 Diferentes sistema de control de versiones.
 Admite extenderlo con plugins.
 Se pueden explorar bases de datos (versión pro).
 Soporte de análisis científico (versión pro).
 Permite desarrollo web profesional (versión pro).
Es desarrollado y mantenido por JetBrains, empresa especializada en creación de
entornos de desarrollo profesionales, por lo que el soporte es excepcional.
Spyder
Spyder es un entorno de desarrollo orientado a las aplicaciones científicas de
software libre, aunque también soporta desarrollo de aplicaciones python en
general. Las principales características son las siguientes:
 Permite trabajar con numerosas librerías científicas como NumPy, SciPy,
Pandas o SymPy.
 Soporta librerías gráficas como matplotlib.
 Tiene soporte para IPython y notebooks.
 Está integrado por defecto en Anaconda.
 Tiene un navegador de ficheros.
 Permite depurar código.

Thonny
Es un entorno de desarrollo para principiantes que permite probar y experimentar
con programas pequeños (normalmente de un solo módulo), pero presenta las
siguientes características importantes:
 Coloreado de sintaxis Python.
 Depurador simple de aplicaciones.
 Shell interactiva de Python integrada en el IDE.
 Analizador de código que muestra errores en el mismo.
 Autocompletado de código.

IDLE
IDLE es un entorno de desarrollo presente en la mayoría de las instalaciones de
Python y que permite hacer una edición simple de código y depuración del mismo,
entre sus características se pueden destacar las siguientes:
 Coloreado de sintaxis Python.
 Se include en instalaciones de Python en Windows y MacOS X.
 Depurador de ejecuciones.
 Shell de Python en el IDE.
El código fuente de este entorno de desarrollo se encuentra presente en la librería
estándar y utiliza tkinter para su interfaz gráfica.

También podría gustarte