Python 3 - Sintaxis básica
El lenguaje Python tiene muchas similitudes con Perl, C y Java. Sin embargo, existen algunas diferencias definidas entre los idiomas.
Primer programa de Python
Ejecutemos los programas en diferentes modos de programación.
Programación en modo interactivo
Al invocar al intérprete sin pasar un archivo de script como parámetro, aparece el siguiente mensaje:
$ python
Python 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>
On Windows:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
Escriba el siguiente texto en el indicador de Python y presione Entrar -
>>> print ("Hello, Python!")
Si está ejecutando la versión anterior de Python (Python 2.x), use paréntesis como inprintla función es opcional. Esto produce el siguiente resultado:
Hello, Python!
Programación en modo script
La invocación del intérprete con un parámetro de secuencia de comandos inicia la ejecución de la secuencia de comandos y continúa hasta que finaliza. Cuando finaliza el guión, el intérprete ya no está activo.
Escribamos un programa Python simple en un script. Los archivos de Python tienen la extensión.py. Escriba el siguiente código fuente en un archivo test.py:
print ("Hello, Python!")
Suponemos que tiene el intérprete de Python configurado en PATHvariable. Ahora, intente ejecutar este programa de la siguiente manera:
On Linux
$ python test.py
Esto produce el siguiente resultado:
Hello, Python!
On Windows
C:\Python34>Python test.py
Esto produce el siguiente resultado:
Hello, Python!
Probemos otra forma de ejecutar un script de Python en Linux. Aquí está el archivo test.py modificado:
#!/usr/bin/python3
print ("Hello, Python!")
Suponemos que tiene un intérprete de Python disponible en el directorio / usr / bin. Ahora, intente ejecutar este programa de la siguiente manera:
$ chmod +x test.py # This is to make file executable
$./test.py
Esto produce el siguiente resultado:
Hello, Python!
Identificadores de Python
Un identificador de Python es un nombre que se usa para identificar una variable, función, clase, módulo u otro objeto. Un identificador comienza con una letra de la A a la Z o de la aa la zo un guión bajo (_) seguido de cero o más letras, guiones bajos y dígitos (0 a 9).
Python no permite caracteres de puntuación como @, $ y% dentro de los identificadores. Python es un lenguaje de programación sensible a mayúsculas y minúsculas. Así,Manpower y manpower son dos identificadores diferentes en Python.
Aquí están las convenciones de nomenclatura para los identificadores de Python:
Los nombres de las clases comienzan con una letra mayúscula. Todos los demás identificadores comienzan con una letra minúscula.
Comenzar un identificador con un solo subrayado inicial indica que el identificador es privado.
Comenzar un identificador con dos guiones bajos iniciales indica un identificador privado fuerte.
Si el identificador también termina con dos guiones bajos al final, el identificador es un nombre especial definido por el idioma.
Palabras reservadas
La siguiente lista muestra las palabras clave de Python. Estas son palabras reservadas y no puede usarlas como constantes o variables o cualquier otro nombre de identificador. Todas las palabras clave de Python contienen solo letras minúsculas.
y | ejecutivo | no |
como | finalmente | o |
afirmar | para | pasar |
romper | desde | impresión |
clase | global | aumento |
Seguir | Si | regreso |
def | importar | tratar |
del | en | mientras |
elif | es | con |
más | lambda | rendimiento |
excepto |
Líneas y sangría
Python no usa llaves ({}) para indicar bloques de código para definiciones de clases y funciones o control de flujo. Los bloques de código se indican mediante sangría de línea, que se aplica de forma rígida.
El número de espacios en la sangría es variable, pero todas las declaraciones dentro del bloque deben tener la misma sangría. Por ejemplo
if True:
print ("True")
else:
print ("False")
Sin embargo, el siguiente bloque genera un error:
if True:
print ("Answer")
print ("True")
else:
print "(Answer")
print ("False")
Por lo tanto, en Python todas las líneas continuas sangradas con el mismo número de espacios formarían un bloque. El siguiente ejemplo tiene varios bloques de instrucciones:
Note- No intente comprender la lógica en este momento. Solo asegúrese de comprender los distintos bloques, incluso si no tienen tirantes.
#!/usr/bin/python3
import sys
file_finish = "end"
file_text = ""
contents=[]
file_name=input("Enter filename: ")
if len(file_name) == 0:
print("Please enter filename")
sys.exit()
try:
# open file stream
file = open(file_name, "w")
except IOError:
print ("There was an error writing to", file_name)
sys.exit()
print ("Enter '", file_finish,)
print ("' When finished")
while file_text != file_finish:
file_text = input("Enter text: ")
contents.append(file_text)
if file_text == file_finish:
# close the file
file.close()
break
print(contents)
data = ' '.join([str(elem) for elem in contents])
print(data)
file.write(data)
file.close()
file_name = input("Enter filename: ")
if len(file_name) == 0:
print ("Next time please enter something")
sys.exit()
try:
file = open(file_name, "r")
except IOError:
print ("There was an error reading file")
sys.exit()
file_text = file.read()
file.close()
print (file_text)
Declaraciones de varias líneas
Las declaraciones en Python generalmente terminan con una nueva línea. Python, sin embargo, permite el uso del carácter de continuación de línea (\) para indicar que la línea debe continuar. Por ejemplo
total = item_one + \
item_two + \
item_three
Las declaraciones contenidas entre los corchetes [], {} o () no necesitan usar el carácter de continuación de línea. Por ejemplo
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Cita en Python
Python acepta comillas simples ('), dobles (") y triples (' '' o" "") para denotar cadenas literales, siempre que el mismo tipo de comillas comience y termine la cadena.
Las comillas triples se utilizan para extender la cadena a lo largo de varias líneas. Por ejemplo, todo lo siguiente es legal:
word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""
Comentarios en Python
Un signo de almohadilla (#) que no está dentro de una cadena literal es el comienzo de un comentario. Todos los caracteres después del #, hasta el final de la línea física, son parte del comentario y el intérprete de Python los ignora.
#!/usr/bin/python3
# First comment
print ("Hello, Python!") # second comment
Esto produce el siguiente resultado:
Hello, Python!
Puede escribir un comentario en la misma línea después de una declaración o expresión:
name = "Madisetti" # This is again comment
Python no tiene la función de comentarios de varias líneas. Tienes que comentar cada línea individualmente de la siguiente manera:
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
Usando líneas en blanco
Una línea que contiene solo espacios en blanco, posiblemente con un comentario, se conoce como línea en blanco y Python la ignora por completo.
En una sesión de intérprete interactiva, debe ingresar una línea física vacía para terminar una declaración de varias líneas.
Esperando al usuario
La siguiente línea del programa muestra el mensaje y la declaración que dice "Presione la tecla Intro para salir", y luego espera a que el usuario actúe:
#!/usr/bin/python3
input("\n\nPress the enter key to exit.")
Aquí, "\ n \ n" se usa para crear dos nuevas líneas antes de mostrar la línea real. Una vez que el usuario presiona la tecla, el programa finaliza. Este es un buen truco para mantener una ventana de consola abierta hasta que el usuario haya terminado con una aplicación.
Varias declaraciones en una sola línea
El punto y coma (;) permite múltiples declaraciones en una sola línea dado que ninguna instrucción inicia un nuevo bloque de código. Aquí hay un recorte de muestra con punto y coma:
import sys; x = 'foo'; sys.stdout.write(x + '\n')
Varios grupos de estados de cuenta como conjuntos
Los grupos de declaraciones individuales, que forman un solo bloque de código, se denominan suitesen Python. Declaraciones compuestas o complejas, como if, while, def y class requieren una línea de encabezado y una suite.
Las líneas de encabezado comienzan la declaración (con la palabra clave) y terminan con dos puntos (:) y son seguidas por una o más líneas que componen la suite. Por ejemplo
if expression :
suite
elif expression :
suite
else :
suite
Argumentos de la línea de comandos
Se pueden ejecutar muchos programas para proporcionarle información básica sobre cómo deben ejecutarse. Python le permite hacer esto con:h -
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]
También puede programar su script de tal manera que acepte varias opciones. Los argumentos de la línea de comandos es un tema avanzado. Vamos a entenderlo.