En Python cuando necesitamos nombrar una variable, una función o una lista entre otras cosas tenemos que cumplir con ciertas reglas para que el interprete de Python no se queje y se produzca un error, para mantener una buena sintaxis y evitar errores tenemos palabras reservadas (Ver aquí cuales son), caracteres ilegales y formas incorrectas de nombrar. Para que se entienda les enumero las cosas que no debemos hacer al crear un nombre para por ejemplo una variable:

Nombres “ilegales” en Python:

1º – Que contengan un carácter ilegal
2º – Que utilicemos una palabra reservada
3º – Que no empiece con una letra

1º – Que contengan un carácter ilegal:
A que se refiere esto, muy simple al igual que cuando vamos a crearnos una cuenta de correo que nos limitan los caracteres que podemos utilizar en Python también tenemos esta situación, por esto mismo debemos tener en cuenta que podemos utilizar y que no, poniendo esto en ejemplos:

>>> variable.ejemplo = “Código Python”
Traceback (most recent call last):
File “<pyshell#1>”, line 1, in <module>
variable.ejemplo = “Código Python”
NameError: name ‘variable’ is not defined
>>>

Este ejemplo en con un guión:
>>> variable-ejemplo = “Código Python”
SyntaxError: can’t assign to operator
>>>

Un ejemplo con un arroba:
>>> variable@ejemplo = “Código Python”
SyntaxError: invalid syntax
>>>

Y este otro ejemplo en con un guión bajo:
>>> variable_ejemplo = “Código Python”
>>>

El objetivo que me propongo con esta miniguia es la mostrar casi de forma superficial que podemos y que no hacer a la hora de nombrar por ejemplo variables o funciones y no la de explicar el porque de cada mensaje de error, lo mas importante es como evitarlo, luego mas detenidamente veremos el porque de los mensajes que nos muestra el interprete de Python en otras miniguias. Ahora si continuo, como ven el carácter que Python nos permite utilizar es el guión bajo así que con este podremos crear nombres mas intuitivos, aunque también podemos utilizar mayúsculas para nuestros nombres, aunque podemos tomar como referencia el PEP 8 (Python Enhancement Proposal) creado por Guido van Rossum y Barry Warsaw que no es mas que una guía de referencia que propone mejorar nuestro código, al final de esta miniguia dejo unos links para que continúen leyendo mas acerca de PEP 8.

>>> variable_de_ejemplo = “Código Python”
>>> VariableDeEjemplo = “Código Python”

2º – Que utilicemos una palabra reservada:
Es este minipost Palabras reservadas en Python les había dejado una tabla con las palabras reservadas en Python en esa tabla encontraran las palabras que no podemos utilizar a la hora de nombrar algo sea una función, una tupla o un diccionario simplemente no podemos utilizarlas ya que Python requiere de estas palabras para funcionar correctamente como puede ser la sentencia pass o el condicional elif

3º – Que no empiecen con una letra
Algo básico a tener en cuenta es que los nombres deben empezar con una letra nunca con un numero, en caso de hacerlo recibiremos un mensaje como el siguiente:

>>> 2variable = “Codigo Python”
SyntaxError: invalid syntax

Palabras reservadas en Python:
http://www.codigopython.com.ar/minipost/palabras-reservadas-en-python
PEP 8:
http://www.python.org/dev/peps/pep-0008/
PEP 8 en español (Traducido el 10 de Agosto de 2007 por Raúl González Duque):
http://mundogeek.net/traducciones/guia-estilo-python.htm