Python Sintaxis básica
El lenguaje Python tiene muchas similitudes con lenguajes como Perl, C y Java. Sin embargo, también existen algunas diferencias.
En este capítulo aprenderemos la sintaxis básica de Python, para que puedas dominar rápidamente la programación en Python.
Primer programa en Python
Programación interactiva
La programación interactiva no requiere crear un archivo de script; se escribe código a través del modo interactivo del intérprete de Python.
En Linux, solo necesitas escribir el comando Python en la línea de comandos para iniciar la programación interactiva. La ventana de aviso es la siguiente:
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
En Windows, durante la instalación de Python ya se instala el cliente de programación interactiva. La ventana de aviso es la siguiente:

Introduce el siguiente texto en el símbolo del sistema de Python y luego presiona Enter para ver el resultado:
>>> print ("Hello, Python!")
En la versión Python 2.7.6, el resultado del ejemplo anterior es el siguiente:
Hello, Python!
Programación mediante scripts
Se invoca al intérprete mediante parámetros de script para comenzar a ejecutar el script, hasta que este termine. Cuando el script se ha ejecutado por completo, el intérprete deja de ser válido.
Escribamos un programa de script simple en Python. Todos los archivos de Python utilizarán.pycomo extensión. Copia el siguiente código fuente en el archivo test.py.
print ("Hello, Python!")
Aquí se asume que ya has configurado la variable PATH del intérprete de Python. Usa el siguiente comando para ejecutar el programa:
$ python test.py
Resultado:
Hello, Python!
Probemos otra forma de ejecutar un script de Python. Modifica el archivo test.py como se muestra a continuación:
Ejemplo
print ("Hello, Python!")
Aquí se asume que tu intérprete de Python se encuentra en el directorio /usr/bin. Usa el siguiente comando para ejecutar el script:
$ chmod +x test.py # 脚本文件添加可执行权限 $ ./test.py
Resultado:
Hello, Python!
Uso de la función print de Python3.x en Python2.x
Si la versión Python2.x desea usar la función print de Python3.x, puede importar el paquete__future__, que deshabilita la sentencia print de Python2.x y utiliza la función print de Python3.x:
Ejemplo
>>> print list # sentencia print de python2.x
['a', 'b', 'c']
>>> from __future__ import print_function # importar el paquete __future__
>>> print list # la sentencia print de Python2.x está deshabilitada, usar provoca error
File "<stdin>", line 1
print list
^
SyntaxError: invalid syntax
>>> print (list) # usar la función print de Python3.x
['a', 'b', 'c']
>>>
Muchas funciones de diseño de compatibilidad entre Python3.x y Python2.x pueden importarse mediante__future__este paquete.
Identificadores de Python
En Python, los identificadores se componen de letras, números y guiones bajos.
En Python, todos los identificadores pueden incluir letras, números y guiones bajos (_), pero no pueden comenzar con un número.
Los identificadores en Python distinguen entre mayúsculas y minúsculas.
Los identificadores que comienzan con un guion bajo tienen un significado especial. Los que comienzan con un solo guion bajo_foorepresentan atributos de clase que no pueden ser accedidos directamente; deben ser accedidos a través de la interfaz proporcionada por la clase, y no pueden importarse usandofrom xxx import *(from ... import *).
Los que comienzan con doble guion bajo__foorepresentan miembros privados de la clase. Los que comienzan y terminan con doble guion bajo__foo__representan identificadores especiales reservados para métodos especiales en Python, como__init__()que representa el constructor de la clase.
Python puede mostrar múltiples sentencias en la misma línea, separándolas con un punto y coma;, por ejemplo:
>>> print ('hello');print ('ejemplo');
hello
ejemplo
Palabras reservadas de Python
La siguiente lista muestra las palabras reservadas en Python. Estas palabras reservadas no pueden usarse como constantes, variables ni ningún otro nombre de identificador.
Todas las palabras clave de Python solo contienen letras minúsculas.
| and | exec | not |
| assert | finally | or |
| break | for | pass |
| class | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | is | with |
| except | lambda | yield |
Líneas e indentación
La mayor diferencia al aprender Python respecto a otros lenguajes es que los bloques de código en Python no usan llaves{}para controlar clases, funciones u otras comprobaciones lógicas. Lo más característico de Python es usar la indentación para escribir módulos.
La cantidad de espacios en blanco de la indentación puede variar, pero todas las sentencias del bloque de código deben contener la misma cantidad de espacios en blanco de indentación; esto debe cumplirse estrictamente.
El siguiente ejemplo usa una indentación de cuatro espacios:
Ejemplo
print ("True")
else:
print ("False")
El siguiente código producirá un error al ejecutarse:
Ejemplo
# -*- coding: UTF-8 -*-
# Nombre de archivo: test.py
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
# Sin indentación estricta, se producirá un error al ejecutar
print ("False")
Al ejecutar el código anterior, aparecerá el siguiente aviso de error:
File "test.py", line 11
print ("False")
^
IndentationError: unindent does not match any outer indentation level
IndentationError: unindent does not match any outer indentation levelEl error indica que la forma de indentación que usas no es consistente; unas son con tabulador y otras con espacios. Cámbialas para que sean uniformes.
Si es un error deIndentationError: unexpected indent, entonces el compilador de Python te está diciendo:"Hola, amigo, hay un problema de formato en tu archivo, posiblemente un desajuste entre tabuladores y espacios",por lo que Python es muy estricto con el formato.
Por lo tanto, en los bloques de código de Python se debe usar el mismo número de espacios de indentación al inicio de cada línea.
Se recomienda usar en cada nivel de indentaciónun solo tabuladorodos espaciosocuatro espacios, y nunca mezclarlos.
Sentencias multilínea
En las sentencias de Python, generalmente una línea nueva se utiliza como terminador de la sentencia.
Pero podemos usar una barra inclinada ( \ ) para dividir una sentencia de una línea en varias líneas, como se muestra a continuación:
total = item_one + \
item_two + \
item_three
Si la sentencia contiene corchetes [], llaves {} o paréntesis (), no es necesario usar el conector de línea. Como en el siguiente ejemplo:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Comillas en Python
Python puede usar comillas simples ('), comillas dobles (") y comillas triples ('''o""") para representar cadenas. El inicio y el final de las comillas deben ser del mismo tipo.
Las comillas triples pueden estar compuestas por varias líneas; son una sintaxis rápida para escribir texto multilínea, comúnmente usadas en cadenas de documentación y, en lugares específicos del archivo, se tratan como comentarios.
word = 'word' sentence = "这是一个句子。" paragraph = """这是一个段落。 包含了多个语句"""
Comentarios en Python
En Python, el comentario de una sola línea comienza con#al inicio.
Ejemplo
# -*- coding: UTF-8 -*-
# Nombre de archivo: test.py
# Primer comentario
print ("Hello, Python!") # Segundo comentario
Resultado:
Hello, Python!
Los comentarios pueden estar al final de una sentencia o expresión:
name = "Ejemplo" # 这里的内容是一个注释
En Python, los comentarios multilínea usan tres comillas simples'''o tres comillas dobles"""。
Ejemplo
# -*- coding: UTF-8 -*-
# Nombre de archivo: test.py
'''
Esto es un comentario multilínea, usando comillas simples.
Esto es un comentario multilínea, usando comillas simples.
Esto es un comentario multilínea, usando comillas simples.
'''
"""
Esto es un comentario multilínea, usando comillas dobles.
Esto es un comentario multilínea, usando comillas dobles.
Esto es un comentario multilínea, usando comillas dobles.
"""
Líneas en blanco en Python
Las líneas en blanco se utilizan entre funciones o entre métodos de una clase para separar y marcar el inicio de un nuevo bloque de código. También se usa una línea en blanco entre la entrada de una clase y una función para resaltar el comienzo de la entrada de la función.
Las líneas en blanco son diferentes de la indentación; no forman parte de la sintaxis de Python. Si no se insertan líneas en blanco, el intérprete de Python no dará error al ejecutar. Sin embargo, la función de las líneas en blanco es separar dos secciones de código con diferente función o significado, para facilitar el mantenimiento o la refactorización del código en el futuro.
Recuerda: la línea en blanco también forma parte del código del programa.
Esperando la entrada del usuario
El siguiente programa, después de ejecutarse, esperará la entrada del usuario y saldrá cuando se presione la tecla Enter:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
raw_input("按下 enter 键退出,其他任意键显示...\n")
En el código anterior,\nse usa para generar un salto de línea. Una vez que el usuario presiona la tecla enter (retorno), sale; las demás teclas se muestran.
Mostrar múltiples sentencias en la misma línea
Python puede usar múltiples sentencias en la misma línea; las sentencias se separan con punto y coma (;). A continuación se muestra un ejemplo sencillo:#!/usr/bin/python import sys; x = 'ejemplo'; sys.stdout.write(x + '\n')
Al ejecutar el código anterior, el resultado es:
$ python test.py ejemplo
Salida con print
La salida predeterminada de print incluye un salto de línea; si se desea que no haya salto de línea, es necesario añadir una coma al final de la variable.,。
Ejemplo
# -*- coding: UTF-8 -*-
x="a"
y="b"
# Salida con salto de línea
print x
print y
print '---------'
# Salida sin salto de línea
print x,
print y,
# Salida sin salto de línea
print x,y
El resultado de ejecutar el ejemplo anterior es:
a b --------- a b a b
Para obtener más información, consulte:Python2 y Python3: print sin salto de línea
Varias sentencias forman un bloque de código
Un conjunto de declaraciones con la misma sangría forma un bloque de código, al que llamamos grupo de código.
Las declaraciones compuestas como if, while, def y class comienzan la primera línea con una palabra clave y terminan con dos puntos ( : ). Una o más líneas de código después de esa línea constituyen un grupo de código.
Llamamos a la primera línea y al grupo de código posterior una cláusula (clause).
Como en el siguiente ejemplo:
if expression : suite elif expression : suite else : suite
Parámetros de línea de comandos
Muchos programas pueden realizar algunas operaciones para ver información básica. Python puede usar-hel parámetro para ver la información de ayuda de cada parámetro:
$ 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. ]
Cuando ejecutamos Python en forma de script, podemos recibir parámetros introducidos en la línea de comandos. Para el uso específico, consulteArgumentos de línea de comandos de Python。
Otras extensiones