0% encontró este documento útil (0 votos)
1K vistas12 páginas

Palabras Reservadas de Python

Este documento describe las palabras reservadas del lenguaje Python. Explica que Python 2 tiene 31 palabras reservadas mientras que Python 3 tiene 34, habiendo removido "exec" y "print" e introducido "nonlocal", "True", "False" y "None". También describe brevemente el uso de algunas palabras clave como "and", "as", "break", "class", "continue", "def", "del", "for", "from", "if", "import", "is", "lambda", "nonlocal", "pass" y "print".
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1K vistas12 páginas

Palabras Reservadas de Python

Este documento describe las palabras reservadas del lenguaje Python. Explica que Python 2 tiene 31 palabras reservadas mientras que Python 3 tiene 34, habiendo removido "exec" y "print" e introducido "nonlocal", "True", "False" y "None". También describe brevemente el uso de algunas palabras clave como "and", "as", "break", "class", "continue", "def", "del", "for", "from", "if", "import", "is", "lambda", "nonlocal", "pass" y "print".
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Python

Palabras reservadas del


lenguaje
enero 26, 2015 by Recursos Python

Introduccin
Se trata de una pequea gua con el objetivo de dar a conocer las palabras
reservadas o keywords de Python, aquellos nombres que incorpora el lenguaje los
cuales no pueden ser reemplazados por un valor determinado (funciones, clases,
variables) o alterar su funcionamiento.

En las versiones 2.x el lenguaje cuenta con 31 palabras reservadas:


and as assert break class continue def del elif else except exec
finally for from global if import in is lambda not or pass print raise
return try while with yield

En Python 3 las palabras exec y print han sido removidas, ya que ahora se
presentan como funciones incorporadas por defecto. Por el contrario, se han
aadido los trminos nonlocal, True, False y None. Los ltimos tres ya se
encontraban en versiones anteriores a la 3.x, aunque como variables con valores
predefinidos (a excepcin de None). Veamos algunos ejemplos.

Python 2

1. >>> False = 1
2. >>> True = 0
3. >>> print = 0
4. File "<stdin>", line 1
5. print = 0
6. ^
7. SyntaxError: invalid syntax
8. >>> exec = 0
9. File "<stdin>", line 1
10. exec = 0
11. ^
12. SyntaxError: invalid syntax
13. >>> None = 0
14. File "<stdin>", line 1
15. SyntaxError: cannot assign to None

Python 3

1. >>> False = 1
2. File "<stdin>", line 1
3. SyntaxError: can't assign to keyword
4. >>> True = 0
5. File "<stdin>", line 1
6. SyntaxError: can't assign to keyword
7. >>> print = 0
8. >>> exec = 0
9. >>> None = 0
10. File "<stdin>", line 1
11. SyntaxError: can't assign to keyword

Esto incluye el conjunto de incompatibilidades que se presenta entre ambas


versiones. En ninguna de ellas puede asignarse un valor a None. Sin embargo, la
diferencia radica en que en la rama 2.x es un objeto al que no puede asignarse un
valor; en Python 3, una palabra reservada.

Por lo tanto, la lista de keywords en Python 3 resulta ser la siguiente.


False None True and as assert 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

El mdulo keyword
El archivo keyword.py se distribuye junto con la librera estndar de Python. Es
generado automticamente a partir del archivo graminit.c, perteneciente al
cdigo de fuente del intrprete. Incorpora una lista que contiene el conjunto de
palabras resevadas, y una simple funcin que determina la existencia de
un keyword a partir de una cadena.

1. # Python 2.7
2. >>> from keyword import iskeyword, kwlist
3. >>> kwlist
4. ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from',
'global', 'if', 'import', 'in','is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
5. >>> iskeyword("pass")
6. True
7. >>> iskeyword("None")
8. False
9. >>> iskeyword("print")
10. True
Documentacin
La funcin help puede recibir como argumento el nombre de una palabra
reservada como una cadena.

>>> help("assert")

and / or

Representaciones lgicas de y y , respectivamente.

1. >>> True and False


2. False
3. >>> True and True
4. True
5. >>> False and False
6. False
7. >>> True or False
8. True
9. >>> True or True
10. True
11. >>> False or False
12. False

as

Su funcin es dual. Puede utilizarse al momento de importar un determinado


objeto de un mdulo, para asignar un nombre diferente.

from keyword import kwlist as keyword_list

Adems, se utiliza la siguiente sintaxis para asignar informacin de una excepcin


a un determinado objeto.
1. >>> try:
2. ... sin_definir
3. ... except NameError as e:
4. ... print(e)
5. ...
6. name 'sin_definir' is not defined

assert

Durante la depuracin (si __debug__ es True), assert permite especificar una


expresin que lanzar AssertionError en caso de ser evaluada como falsa.

1. >>> assert 1 == 2
2. Traceback (most recent call last):
3. File "<stdin>", line 1, in <module>
4. AssertionError
5. >>> assert 1 == 1
Ntese que no es posible asignar un valor a __debug__, ste ser False al llamar a
un archivo con las opciones del intrprete -o y -oo.

break

Finaliza la ejecucin de un bucle.

1. >>> while True:


2. ... break
3. ...
4. >>> for i in range(10):
5. ... if i == 4:
6. ... break
7. ... else:
8. ... print(i)
9. ...
10. 0
11. 1
12. 2
13. 3

class

Define una clase.

1. >>> class C:
2. ... def __init__(self):
3. ... print("Hello world!")
4. ...
5. >>> c = C()
6. Hello world!

continue

Suspende la ejecucin de un bucle para resumirla con el siguiente elemento.

1. >>> for i in range(10):


2. ... if i == 4:
3. ... continue
4. ... else:
5. ... print(i)
6. ...
7. 0
8. 1
9. 2
10. 3
11. 5
12. 6
13. 7
14. 8
15. 9

Tambin aplicable a bucles while.


def

Define una funcin.

1. >>> def func(a):


2. ... print(a)
3. ...
4. >>> func("Hello world!")
5. Hello world!

del

En caso de utilizarse seguido de un objeto, elimina su referencia.

1. >>> a = 1
2. >>> a
3. 1
4. >>> del a
5. >>> a
6. Traceback (most recent call last):
7. File "<stdin>", line 1, in <module>
8. NameError: name 'a' is not defined

En diccionarios, remueve el elemento del mismo. En listas, adems, reordena el


conjunto de elementos para llenar el espacio vaco.

1. >>> d = {"Yes": 1, "No": 2}


2. >>> d["Yes"]
3. 1
4. >>> del d["Yes"]
5. >>> d["Yes"]
6. Traceback (most recent call last):
7. File "<stdin>", line 1, in <module>
8. KeyError: 'Yes'
9. >>> d
10. {'No': 2}

1. >>> L = ["Yes", "No"]


2. >>> L[0]
3. 'Yes'
4. >>> del L[0]
5. >>> L[0]
6. 'No'
7. >>> L
8. ['No']

exec

Permite ejecutar cdigo Python a partir de una cadena o archivo.

1. >>> exec "a = 1"


2. >>> a
3. 1
Su utilizacin no es recomendada. Vase ms informacin en la documentacin
oficial.

nicamente en versiones anteriores a Python 3.x. A partir de esta ltima, exec() es


una funcin incorporada por defecto.
for

Permite recorrer los elementos de un objeto iterable (listas, tuplas, diccionarios,


etc.).

1. >>> for i in (1, 2, 3):


2. ... print(i)
3. ...
4. 1
5. 2
6. 3

from

Importa uno o ms objetos de un modulo, prescindiendo del nombre de ste como


prefijo al ser utilizado.

1. >>> from keyword import kwlist, iskeyword


2. >>> iskeyword("assert")
3. True

Si se quieren importar todos los objetos, puede utilizarse un asterisco.

from keyword import *

Aunque esta prctica no es recomendable.


global

Permite modificar el valor de un objeto global desde un mbito con menor alcance
(una funcin, por ejemplo).

1. >>> a = 1
2. >>> def f():
3. ... global a
4. ... a = 2
5. ...
6. >>> f()
7. >>> a
8. 2

El valor del objeto a no habra sido modficiado sin utilizar global; en su lugar, se
habra creado otro objeto dentro de la funcin f.

1. >>> a = 1
2. >>> def f():
3. ... a = 2
4. ...
5. >>> f()
6. >>> a
7. 1

if / elif / else

1. if a:
2. # bool(a) es True
3. print("a")
4. elif b:
5. # bool(a) es False
6. # bool(b) es True
7. print("b")
8. elif c:
9. # bool(a) es False
10. # bool(b) es False
11. # bool(c) es True
12. print("c")
13. else:
14. # Todas las anteriores son falsas.
15. print("Ninguna de las anteriores.")

else incluye un uso adicional (vase ms adelante).

import

Importa un mdulo, o bien un objeto de ste si es utilizado junto a from.

1. >>> import keyword


2. >>> keyword.iskeyword("assert")
3. True

in

Determina la existencia de un determinado valor dentro de una lista, tupla,


diccionario o cualquier objeto iterable.

1. >>> 2 in (1, 2, 3)
2. True
3. >>> "Hello" in "Hello, world!"
4. True
5. >>> "Si" in {"Yes": 1, "No": 2}
6. False

is

Determina si dos objetos son iguales, a diferencia de los signos de equivalencia


(==), que determinan si ambos tienen el mismo valor.

1. >>> class Number:


2. ... def __init__(self, number):
3. ... self.number = number
4. ... def __eq__(self, other):
5. ... return self.number == other
6. ...
7. >>> a = Number(1)
8. >>> b = Number(1)
9. >>> a == b
10. True
11. >>> a is b
12. False
13. >>> c = b
14. >>> b is c
15. True

Siempre debe ser utilizado al comprar con None.

1. >>> a = None
2. >>> a is None
3. True

lambda

Vase Funciones lambda.


nonlocal

Permite modificar el valor de un objeto que ha sido creado en un mbito anterior.

1. >>> def a():


2. ... i = 1
3. ... def b():
4. ... nonlocal i
5. ... i = 2
6. ... b()
7. ... print(i)
8. ...
9. >>> a()
10. 2

Sin el empleo de este vocablo no habra sido posible modificar el valor


de i desde b().

1. >>> def a():


2. ... i = 1
3. ... def b():
4. ... i = 2
5. ... b()
6. ... print(i)
7. ...
8. >>> a()
9. 1

Soportado nicamente en Python 3.


not

Operador lgico no.

1. >>> not True


2. False
3. >>> not False
4. True

pass

Esta palabra reservada carece de funcin alguna. Es utilizada para rellenar


espacios requeridos por Python para evitar errores de sintaxis.

1. >>> def f():


2. ... pass
3. ...
4. >>> f()

print

Imprime en pantalla una determinada cadena. Otros objetos son convertidos


automticamente.

1. >>> print "Hello, world!"


2. Hello, world!
3. >>> print 1
4. 1

nicamente en versiones anteriores a Python 3.x. A partir de esta


ltima, print() es una funcin incorporada por defecto.
raise

Lanza una excepcin.

1. >>> raise NameError


2. Traceback (most recent call last):
3. File "<stdin>", line 1, in <module>
4. NameError

return

Dentro de una funcin, especifica el valor de retorno.

1. >>> def f():


2. ... return 1
3. ...
4. >>> f()
5. 1
True, False y None

1. >>> True == 1
2. True
3. >>> False == 0
4. True

None es utilizado para indicar la ausencia de un valor en un objeto determinado.

Estos vocablos son palabras reservadas a partir de Python 3.

try / except / else / finally

Las clusula try / exceptpermite capturar una excepcin dentro de una


determinada porcin de cdigo.

1. try:
2. func()
3. except Exception:
4. print("Ha ocurrido un error.")

En caso de no habrse propagado ninguna excepcin, el flujo del programa seguir


luego del trmino else, en caso de encontrarse, al finalizar la ejecucin de func().

1. try:
2. func()
3. except Exception:
4. print("Ha ocurrido un error.")
5. else:
6. print("Ejecutado exitosamente.")

Por ltimo, el flujo ser enviado luego del trmino finally al finalizar la ejecucin
del cdigo anterior, independientemente si han surgido errores.

1. try:
2. func()
3. except Exception:
4. print("Ha ocurrido un error.")
5. else:
6. print("Ejecutado exitosamente.")
7. finally:
8. cleanup()

En caso de ocurrir un error en las clusulas except o else, cleanup() ser llamada
antes de propagarse la excepcin, para permitir realizar una limpieza, principal
diferencia con el siguiente cdigo.

1. try:
2. func()
3. except Exception:
4. print("Ha ocurrido un error.")
5. else:
6. print("Ejecutado exitosamente.")
7.
8. cleanup()

while

Ejecuta un bloque de cdigo mientras que la expresin sea verdadera.

1. >>> i = 0
2. >>> while i < 10:
3. ... print(i)
4. ... i = i + 1
5. ...
6. 0
7. 1
8. 2
9. 3
10. 4
11. 5
12. 6
13. 7
14. 8
15. 9

with

Permite encapsular la ejecucin de un bloque de cdigo, de modo que la


inicializacin y finalizacin de un objeto es realizada automticamente por Python,
utilizando las funciones __enter__ y __exit__.

1. with open("info.txt"):
2. raise Exception

En este caso, el archivo es cerrado automticamente antes de propagarse la


excepcin. Puede indicarse un objeto que contenga una referencia a, en este caso,
el fichero.

with open("info.txt") as f:

De esta manera, puede comprobarse su eficacia:


1. try:
2. with open("info.txt") as f:
3. raise Exception
4. except Exception:
5. print f.closed # True

Por el contrario, el siguiente cdigo deja el fichero abierto.

1. try:
2. f = open("info.txt")
3. raise Exception
4. f.close()
5. except Exception:
6. print f.closed # False
yield

Se comporta al igual que return, con la diferencia que en lugar de retornar un


nico valor, retorna elementos que conforman un generador (un objeto iterable
que puede recorrerse una vez, ya que el contenido no es almacenado en la
memoria), por lo que puede emplearse mltiples veces en una misma funcin.

1. >>> def f():


2. ... yield 1
3. ... yield 2
4. ... yield 3
5. ...
6. >>> g = f()
7. >>> for i in g:
8. ... print(i)
9. ...
10. 1
11. 2
12. 3
13. >>> for i in g:
14. ... print(i)
15. ...

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy