Python logo - Curso de Python desde cero

Sintaxis básica de Python

Nos introducimos en la sintaxis básica de Python

Bienvenidos a todos a otra entrega de este curso de programación en python en el que vamos a comenzar a ver la sintaxis básica del lenguaje. Concretamente en este post vamos a ver el IDLE de python, la ventana de shell, la consola desde la cual podemos empezar ya a programar y que viene con el paquete de instalación de python.

Vamos a ver unas primeras instrucciones en python para irnos familiarizando con este lenguaje de programación: cómo se hacen comentarios, qué son las instrucciones en python y cómo se introducen y terminaremos con la instalación del editor de texto que vamos a utilizar durante el curso que es Sublime text 3.

IDLE Shell de Python

En el post anterior ya vimos cómo instalar python, entonces nos vamos al menú de inicio de nuestro sistema operativo, en mi caso Windows 10 y ahí están los programas agregados recientemente. Si no vamos a aparecerse en ahí pues nos vamos a el directorio de instalación y ahí nos encontramos el IDLE. Lo que se abre es como podéis ver una ventana de shell desde la cual podemos comenzar a programar.

IDLE Shell de Python

Lo primero en que tenemos que fijarnos en el símbolo que aparece en la ventana >>> con tres caracteres de «mayor que». Es lo que se conoce como Prompt y es lo que nos va a marcar el punto exacto dentro de la consola donde introduciremos nuestras instrucciones python.

Sintaxis básica de Python

La sintaxis es uno de los requisitos básicos que debemos conocer para codificar en cualquier lenguaje. En Python, usamos sangría para representar el bloque del código. Tenemos que seguir algunas reglas sobre cómo usar la sangría. No solo la sangría, tenemos que seguir las reglas sobre cómo elegir el nombre de las variables.

¿Qué es la sintaxis?

Antes de continuar con la comprensión de su sintaxis, comprendamos cómo escribir y ejecutar un programa básico de python.

Hay dos formas de hacerlo:

1. Modo interactivo: en este modo, escribe y ejecuta el programa

2. Modo script: en este modo, primero crea un archivo (.py), lo guarda y luego lo ejecuta.

Ingrese el siguiente comando en su terminal después de instalar Python para ingresar al modo interactivo.

$ python

Ahora ha entrado en el modo interactivo. Puede ejecutar cualquiera de las declaraciones de python en el modo interactivo en la terminal ahora. Pero si está utilizando un editor de secuencias de comandos/IDE, no tiene que hacer lo mismo.

Ahora podemos pasar a entender la sintaxis. Cuando aprendemos la sintaxis de python, primero estudiamos la declaración de impresión.

Ejecutemos el programa python en la terminal ahora

print("Sintaxis básica de Python")

La salida para la declaración de impresión es:

Sintaxis básica de Python

Ahora que hemos visto el modo interactivo arriba, ¿Qué pasa con el modo script? Para ejecutar código en modo script, primero debe crear un archivo .py, escribir su código y guardarlo. Puede escribir el mismo código. Digamos que lo guardó como sintaxis.py. Una vez que haya hecho eso, puede usar el botón ‘ejecutar’ en su IDE o si desea ejecutarlo en su terminal:

$ python sintaxis.py

Una vez que ejecuta el comando, verá que imprime: Sintaxis básica de Python en la terminal. ¡Felicidades! Has aprendido tu primera sintaxis de python.

Sangría en Python

Cada vez que escribimos cualquier pieza de código en python, por ejemplo, funciones o bucles, especificamos bloques de código para ellos. ¿Cómo identificaremos qué bloque es para qué? Se hace «sangrando» las sentencias de ese bloque.

Para determinar el nivel de sangría de la línea, usamos una serie de espacios en blanco iniciales, que pueden ser espacios o tabulaciones. La idea general es usar una tabulación (o cuatro espacios) para un solo nivel de sangría.

Echemos un vistazo a un ejemplo sencillo para comprender los niveles de sangría.

def foo_bar():
    print("¡Hola!")
    if True:
        print("Adiós")
    else:
        print("Hasta pronto")

print("Sangría en Python")

No entraremos en el código y lo que hace; en su lugar, concentrémonos en los niveles de sangría.

def foo_bar():

Marca el comienzo de la función, por lo que cada línea de código que pertenece a la función debe tener una sangría de al menos un nivel. Observe que las declaraciones print y las declaraciones if tienen una sangría de al menos un nivel. Pero, ¿qué pasa con la última declaración de impresión? Como vemos, tiene una sangría de nivel 0, lo que significa que no forma parte de la función.

Pasemos ahora al interior del bloque de la función, que es cada declaración debajo del comienzo de la función que tiene una sangría de al menos un nivel.

La primera declaración de impresión tiene una sangría de un nivel porque solo está debajo de la función y no en ningún otro ciclo o condición. Por el contrario, la segunda declaración de impresión se encuentra debajo de la declaración if.

def foo_bar():
    print("¡Hola!")
    if True:
        print("Adiós")
    else:
        print("Hasta pronto")

print("Sangría en Python")

La declaración if tiene una sangría de solo un nivel, pero cualquier bloque de código que deba escribirse debajo debe tener una sangría de un nivel más que la declaración if. Lo mismo ocurre con la sentencia else.

Ahora, en la sangría del código en python, tenemos que seguir reglas específicas. Ellas son :

  • La sangría no se puede dividir en varias líneas con el uso del carácter de barra invertida (‘ \ ‘)
  • Se generará un IndentationError si intenta sangrar la primera línea de código en python. No puede sangrar la primera línea de código.
  • Si ha aplicado sangría a su código ya sea usando una tabulación o un espacio, se recomienda continuar con la misma preferencia de espaciado en todo el código. No utilice una combinación de tabulaciones y espacios en blanco para hacerlo, ya que puede causar una sangría incorrecta.
  • Lo mejor es usar 1 tabulación (o 4 espacios en blanco) para el primer nivel de sangría y continuar agregando 4 espacios en blanco más (o 1 tab más) para niveles de sangría más altos.

La sangría del código en python tiene beneficios como hacer que el código se vea hermoso y estructurado. Le da una buena comprensión del código en un solo vistazo. Además, las reglas de sangría son simples, y si está escribiendo código en un IDE, la mayoría de los IDE sangrarán automáticamente el código por usted.

Una desventaja de la sangría es que si su código es extenso e implica altos niveles de sangría, incluso un error de sangría en una sola línea puede ser muy tedioso de corregir.

Veamos algunos errores de sangría para que su comprensión sea muy clara.

     y = 9

Salida:

  File "<pruebas.py>", line 1
    y = 9
IndentationError: unexpected indent

Como se dijo anteriormente, dado que no podemos sangrar la primera línea, se arroja un error de sangría.

if True:
    print("Dentro de True")
     print("Se producirá un error debido a un espacio en blanco adicional")
else:
    print("Falso")

Lanzará un error de IndentationError porque la segunda declaración de impresión está escrita con una sangría de un nivel, pero tiene un espacio en blanco adicional, lo que no está permitido en Python.

if True:
print("Se producirá un error debido al nivel de sangría 0")
else:
print("De nuevo, no hay nivel de sangría, por lo que hay error")

En el código anterior, las declaraciones de impresión dentro de if y else no están sangradas por un nivel adicional y, por lo tanto, se generará un IndentationError.

IndentationError: expected an indented block.

Identificadores de sintaxis de Python

Cuando hablamos de variables, funciones, clases o módulos, usamos “identificadores” para identificarlos. ¿Qué son los identificadores? Es un nombre que se le da a algo para diferenciarlo de otras entidades de código.

Ahora, al igual que para la sangría, tenemos algunas reglas de nomenclatura aquí.

  • El identificador contendrá una combinación de letras o números (0-9) en minúsculas (az) o mayúsculas (AZ) o guiones bajos (_)
  • El identificador no puede comenzar con un dígito
  • Las palabras reservadas o las palabras clave no se pueden usar como nombres de identificador (pronto leerá más sobre las palabras clave en el artículo)
  • No se pueden utilizar símbolos o caracteres especiales en el identificador
  • La longitud del identificador puede ser variable; no hay restricción
  • Recuerde que Python es un lenguaje que distingue entre mayúsculas y minúsculas, por lo que var y VAR son dos identificadores diferentes

Ejemplos de nombres correctos: var, Robot, python_007, etc.

Ejemplos de nombres incorrectos: 97learning, he!o, etc.

Algunos ejemplos de identificadores para variables:

var = 310 
Mi_var = 20 
Mi_var344 = 10 
CADENA = "PYTHON" 
flotante = 3.142

Algunos ejemplos de funciones:

def mi_funcion():
    print("Válido")

def Mi_función():
    print("Válido")

def Mifunción3():
    print("Válido")

def FUNCION():
    print("Válido")

Para verificar si su nombre es un identificador válido o no, puede usar la función incorporada «isidentifier()«.

Se puede utilizar como:

print("var".isidentifier()) 
print("@var".isidentifier())
True
False

El primero es un identificador válido; por lo tanto, imprimirá True, y el segundo no es válido e imprimirá False.

Sin embargo, hay una trampa con esta función. No puede utilizar ninguna palabra clave para comprobar si son identificadores válidos o no. Esta función mostrará True para cualquier palabra clave, pero sabe que las palabras clave no se pueden usar para identificadores. Por lo tanto, aquí esta función tiene una advertencia.

Ahora que hablamos de las palabras clave y las palabras reservadas varias veces en esta sección, echemos un vistazo a ellas.

Palabras clave de Python

A continuación, en la tabla, se enumeran las palabras clave en python. Son algunas palabras de propósito único que pueden usarse solo para casos específicos y no como identificadores.

FalseTrueNone
__peg_parser__asand
assertawaitasync
breakcontinueclass
defelifdel
elsefinallyexcept
forglobalfrom
ifinimport
isnonlocallambda
notpassor
raisetryreturn
whileyieldwith

Para ver todas las palabras clave que admite su versión de python, puede abrir su editor de secuencias de comandos o IDE o escribir los siguientes dos comandos en su terminal para enumerar todas las palabras clave.

import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Comentarios en Python

Primero, entendamos por qué necesitamos comentarios o por qué es esencial comentar en un programa. De cualquier programa, los comentarios son una parte integral. Podemos hacer comentarios de varias líneas como cadenas de documentos o comentarios de una sola línea.

Escribir comentarios es esencial cuando estás leyendo tu código. Hace que el código sea más fácil de entender. Incluso puede hacer comentarios específicos en el medio para verificar y editar ciertos bloques de código. O incluso más tarde, digamos después de seis meses, debe realizar algunos cambios en su código. Los comentarios que haga a lo largo le ayudarán a entender su código.

Digamos que estás trabajando en un equipo. Entiendes el código que has escrito y no necesitas comentarios. Pero sería un desafío para otros entender su código si no lo explica en líneas cortas como comentarios.

Ahora que sabemos por qué los comentarios son críticos, comprendamos cómo podemos incluirlos en nuestros programas de Python.

Para escribir un comentario simple de una sola línea, debe agregar el símbolo # antes de su comentario. Como esto :

# Esto es un comentario

No necesita agregarlo en una nueva línea. Incluso puede agregarlo después de las declaraciones en su código.

print("Esta es la sentencia")    # Esto es un comentario explicando la sentencia

En python, todo lo que se escribe después del símbolo # es ignorado por python. No se ejecutará.

Ahora supongamos que desea escribir varios comentarios juntos, como en un comentario de varias líneas, no puede hacerlo directamente en Python. La mayoría de los idiomas solo usan /* … */ para comentarios de varias líneas.

# Forma incorrecta de escribir comentarios multilínea en Python
/*
así que esto
no es 
posible en Python
*/

Sin embargo, puedes hacer esto:

# esta es 
# una forma de 
# escribir comentarios multilínea en python

Si no desea presionar Intro constantemente y agregar el símbolo # al comienzo de cada línea, puede convertirlo en una cadena de documentación agregando tres comillas dobles.

"""
Hace comentarios 
multilínea en Python
es mucho más fácil
"""

Permíteme también darte un pequeño truco para comentar varias líneas de código a la vez. Seleccione las líneas de código que desea convertir en comentarios y presione Ctrl + / juntos en Windows o comando + / en Mac. ¡Eso haría tu trabajo mucho más fácil!

Sentencias de múltiples líneas

Antes de comprender las declaraciones de varias líneas, echemos un vistazo a las declaraciones.

x = 10  # esto es una declaración (1)

class FooBar:  # esto es una declaración (2)
    pass  # esto es una declaración (3)

Cada una de estas líneas es una declaración. ¿Qué sucede si algunas declaraciones son largas y no puede encajarlas correctamente en una línea? Ahí es cuando los comentarios de varias líneas son útiles.

Con el carácter de continuación barra invertida, puede dividir explícitamente una declaración en varias líneas («\»).

Por ejemplo:

mensaje = "Esta es una sentencia larga que quiero escribir, pero el " \
          "problema es que no cabe en una sola línea. Así es como " \
          "lo he escrito para facilitar la lectura."

¿Sabía también que podemos escribir varias declaraciones en una línea?

a = 1; b = 2; c = 3

Las siguientes tres declaraciones se han escrito en una sola línea utilizando el punto y coma ( ; ).

Comillas en Python

Se utilizan tres tipos de comillas cuando se trata de comillas aceptadas por Python.

Simple – ' ... ' Doble – " ... " Y Triple – " " " … " " "

Ya hemos visto el uso de las comillas triples en la sección de comentarios. Las comillas simples y dobles se utilizan para declarar cadenas en Python.

Líneas en blanco en Python

Hay tres formas de imprimir líneas en blanco en python.

La primera y más sencilla forma es usar una declaración de impresión en blanco:

print("Línea 1")
print()
print("Línea 3")

Salida:

Línea  1

Línea  3 

Otra forma es poner comillas vacías en la declaración de impresión, simples o dobles.

print("Uso de comillas simples o dobles")
print('')
print("")
print("¡Funciona!")

Salida:

Uso de comillas simples o dobles


¡Funciona!

La tercera forma es usar un carácter de nueva línea ( \n ) al final de la declaración:

print("¡Usando nueva línea\npara crear una nueva línea!")

Salida:

¡Usando nueva línea
para crear una nueva línea!

Esperando usuario

La entrada en el lenguaje de programación Python se realiza mediante la función input() . El programa con la función input() no se ejecutará hasta que el usuario no proporcione una entrada al programa a través de la consola.

print("Enter name")
name = input()

Después de la segunda línea, el programa espera a que el usuario ingrese la entrada.

Bueno, pues ya hemos visto lo que es una instrucción en Python, cómo introducir comentarios, cómo utilizar el IDLE de python, etc. Vamos a dejar este post en el punto en el que nos encontramos y os invito a que permanece atentos a la próxima entrega donde veremos Python Sintaxis Básica II: Tipos de datos, operadores y variables. Hasta entonces que os vaya bien.

Scroll al inicio