# Hola, estoy comentando en Python
print("Mostramos esto por pantalla") #Aquí se mejora la comprensión del código
Taller de verano: Introducción a Python - Parte 1
Lenguaje de programación Python
Python es un lenguaje de programación de propósito general muy poderoso y flexible, a la vez que sencillo y fácil de aprender. Es un lenguaje de alto nivel, que permite procesar fácilmente todo tipo de estructuras de datos, tanto numéricos como de texto. ![]() |
## 1. Comentarios |
Un comentario es una línea de texto no ejecutable, esto quiere decir que el compilador o intérprete no la tomará como una línea de código. Los comentarios en Python, así como en otros lenguajes de programación, sirven para dejar pequeñas explicaciones sobre qué es lo que hace el programa.
A continuación, se crea una cadena de texto multilínea la cual no se asigna a ninguna variable. Al no asignarse a una variable su uso es nulo y por esta razón, podemos utilizarla para realizar comentarios.
'''
Hola, soy un comentario
con varias líneas
'''
'\nHola, soy un comentario\ncon varias líneas\n'
Nota: Técnicamente las expresiones con la notación con tres comillas
'''
no son comentarios validos de Python, pero en la mayoría de casos se comportan de manera similar y se pueden utilizar como tal.
2. Entrada y salida
Los programas escritos en Python y los entornos de ejecución (como Google Colab) permiten al usuario interactuar de formas distintas. El usuario introduce información en forma de archivos, datos en la nube, o acciones de periféricos como el teclado y ratón, y los entornos de ejecución ejecutan el programa de Python. En consecuencia, le devuelven al usuario una respuesta en forma de texto, imagen o contenidos interactivos complejos. A continuación, conocera las funciones de entrada y salida de texto. Las más comunes y más útiles en los primeros pasos del aprendizaje del lenguaje son las funciones input
y print
.
Cuando se ejecuta input()
la consola de Python espera que se le entregue texto, que puede escribir con su teclado o pegar del portapapeles, para luego hacer algo con este, como almacenarlo en una variable. Por otro lado, print()
escribirá en consola texto que este almacenado previamente.
= input('Hola. ¿Cómo te llamas?\n') nombre
Hola. ¿Cómo te llamas?
isa
print("¿Cómo se llama?")
= input()
nombre print(f"Me alegro de conocerle, {nombre}")
Nota: De forma predeterminada, la función input() siempre que lee algún dato, lo retorna como un string, incluso aunque sea un número válido y por ejemplo, si intentamos hacer operaciones, se producirá un error.
= input("Dígame una cantidad en pesetas: ")
cantidad print(f"{cantidad} pesetas son {round(cantidad / 166.386, 2)} euros")
Para evitar lo mencionado anteriormente, se debe convertir el dato a número (float o int) según lo que se requiera en el programa. Veamos entonces cómo leer y convertir los números de la entrada en Python.
Ejemplo: Si se quiere que Python interprete la entrada como un número entero, se debe utilizar la función int() de la siguiente manera:
= int(input("Dígame una cantidad en pesetas: "))
cantidad print(f"{cantidad} pesetas son {round(cantidad / 166.386, 2)} euros")
Ejemplo: Modifique el código anterior de tal manera que Python interprete la entrada como un float e imprima el valor con un redondeo de 3 dígitos.
3. Tipos de dato y operadores
El tipo de un dato es un atributo que determina qué operaciones se pueden realizar y qué valores puede tomar. Estos pueden ser números, listas, texto, entre otros. En Python, los tipos de dato no son definidos explícitamente, pero siempre están presentes en las variables que declaramos y es necesario tenerlos en cuenta. En particular, el tipo de dato define las operaciones válidas entre datos del mismo tipo. Estas operaciones están definidas con el uso de símbolos llamados operadores.
Para conocer el tipo de dato de una variable, se usa la función type
.
### 3.1. Cadenas de texto
Un tipo de dato muy importante es el de las cadenas de texto. Estas cadenas permiten almacenar en un mismo dato texto con cualquier cantidad de caracteres. Para definir una cadena de texto, se rodea el texto con comillas simples '
o comillas dobles "
.
'cadena con comilla simple'
"cadena con comillas dobles"
Las cadenas se pueden almacenar en variables, así:
= ' ¡Pontificia Universidad Javeriana Cali! ' c
print(c)
Algunos operadores de los usados para valores numéricos también sirven al operar con strings pero con utilidad distinta:
- Concatenación
+
. - Repetición
*
. - Formato
%
.
Concatenación
Repetición
Formato
Este operador permite reemplazar los marcadores de posición (%_) dentro de la string con la o las variables que se encuentren después del operador (%).
= "raíz cuadrada de dos"
tipo_calculo = 2**0.5
valor print ("el resultado de %s es %f" % (tipo_calculo, valor))
el resultado de raíz cuadrada de dos es 1.414214
Las cadenas, como objetos que son, nos proporcionan métodos que nos facilitan su manipulación. Por ejemplo, siendo s
una variable con un string
:
s.lower()
: Retorna la cadena con todos los caracteres alfabéticos en minúscula.s.upper()
: Retorna la cadena con todos los caracteres alfabéticos en mayúscula.s.replace(a, b)
: Reemplaza las subcadenas iguales a la cadenaa
con el valor de la cadenab
.s.strip()
: Retorna la cadena con todos los espacios en blanco al principio y al final removidos.s.islower()
: Determina si la cadena está compuesta solo por caracteres en mayúscula.s.isupper()
: Determina si la cadena está compuesta solo por caracteres en mayúscula.s.isdigit()
: Determina si la cadena está compuesta solo por dígitos del 0 al 9.s.isalpha()
: Determina si la cadena está compuesta solo por caracteres alfabéticos.
Cada uno de los caracteres de una cadena (incluidos los espacios) tiene asignado un índice. Este indice nos permite seleccionar su carácter asociado haciendo referencia a él entre corchetes ([ ])
3.2. Valores y operadores numéricos
En Python, los valores numéricos pueden ser de tres formas:
- Números enteros. (int)
- Números decimales. (float)
- Números complejos. (complex)
= 10 #int
a print(a)
print(type(a))
= -1089 #int - Se pueden escribir números negativos con el símbolo ‘-’
a print(a)
print(type(a))
= 1e100 #float - Esta sintaxis representa notación científica.
a print(a)
print(type(a))
1e+100
<class 'float'>
= 1 + 0.2j #complex
a print(a)
print(type(a))
(1+0.2j)
<class 'complex'>
Como obtener la parte real e imaginaria de un numero complejo:
2.0+8.0j).real (
2.0
4.0+5.3j).imag (
5.3
Existen varios operadores matemáticos para estos valores numéricos. Estos son:
Simbolos | Operaciones |
---|---|
+ | suma |
* | Multiplicación |
/ | División de numeros flotantes |
// | División de números enteros |
% | Módulo |
** | Exponencial |
Operados logicos
Otro tipo de dato importante es el booleano, que representa un valor lógico de verdad. Puede tomar únicamente estos dos valores:
- Verdadero:
True
- Falso:
False
En Python, a diferencia de otros lenguajes de programación, las primitivas lógicas son escritas con la primera letra en mayúscula.
Además de con el uso de las dos primitivas lógicas (True
y False
), se pueden obtener valores lógicos con la evaluación de expresiones con operadores relacionales. Los cuales se encuentran a continuación:
Simbolos | Operaciones |
---|---|
== | Igual |
!= | Diferente |
< | Menor que |
<= | Menor igual que |
\(>\) | Mayor que |
\(>=\) | Mayor e igual que |
print(-10 > 4.0) # Mayor que.
False
print(-10 != 4.0) # Distinto que.
True
¿Puedo utilizar los operadores lógicos con string?
Para evaluar más de una condición simultáneamente, se utilizan operadores lógicos. Estos son:
- AND lógico.
and
- OR lógico.
or
- NOT. negación.
not
Ejemplo
Además de estos operadores, se puede usar el operador is
, que valida la identidad de un objeto. Para entender esto, tenemos que por su parte el operador ==
valida la igualdad de contenido de un objeto, mientras que el operador is
valida si dos objetos, además de ser iguales en contenido, contienen la misma referencia en memoria, es decir, valida si son el mismo objeto. Si los valores son primitivas numéricas o lógicas el operador is
retornará True
.
# Operador is
print('Operador is')
= 1.0
a = 1
b
print(a is b) # No tienen el mismo tipo de dato y por lo tanto son objetos distintos.
print(a == b) # Contienen el mismo valor al verificar su igualdad.
Operador is
False
True