Python: 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 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 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "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 una nueva versión de Python, entonces necesitaría usar la declaración de impresión entre paréntesis como en print ("Hello, Python!");. Sin embargo, en la versión 2.4.3 de Python, 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 extensión.py. Escriba el siguiente código fuente en un archivo test.py:
print "Hello, Python!"
Suponemos que tiene un intérprete de Python configurado en la variable PATH. Ahora, intente ejecutar este programa de la siguiente manera:
$ python test.py
Esto produce el siguiente resultado:
Hello, Python!
Probemos otra forma de ejecutar una secuencia de comandos de Python. Aquí está el archivo test.py modificado:
#!/usr/bin/python
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 fuertemente privado.
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 |
afirmar | finalmente | o |
romper | para | pasar |
clase | desde | impresión |
Seguir | global | aumento |
def | Si | regreso |
del | importar | tratar |
elif | en | mientras |
más | es | con |
excepto | lambda | rendimiento |
Líneas y sangría
Python no proporciona 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 entender varios bloques, incluso si no tienen tirantes.
#!/usr/bin/python
import sys
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 = raw_input("Enter text: ")
if file_text == file_finish:
# close the file
file.close
break
file.write(file_text)
file.write("\n")
file.close()
file_name = raw_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 corchetes [], {} o () no necesitan utilizar 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 un literal de cadena comienza un comentario. Todos los caracteres después del # y hasta el final de la línea física son parte del comentario y el intérprete de Python los ignora.
#!/usr/bin/python
# 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
Puede comentar varias líneas de la siguiente manera:
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
El intérprete de Python también ignora la siguiente cadena entre comillas triples y puede usarse como comentarios de varias líneas:
'''
This is a multiline
comment.
'''
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, la declaración que dice "Presione la tecla Intro para salir", y espera a que el usuario actúe:
#!/usr/bin/python
raw_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 sentencias en una sola línea dado que ninguna de las dos 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
Un grupo 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 te 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 y debe estudiarse un poco más tarde una vez que haya analizado el resto de los conceptos de Python.