Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/11/2011, 08:12
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Reglas que se deben seguir al momento de escribir el codigo Python

Eso iba a comentar ayer y se ve que se me olvidó

Con is se verifica que ambos identificadores se refieran al mismo objeto, no se tienen en cuenta los valores. Con == se comparan los valores.

Una pequeña tablita comparativa (en C, tomando en cuenta las cadenas, char*):

Código:
Python       Java          C
a is b            a == b         a == b
a == b            a.equals(b)     strcmp(a, b) == 0
Además de la guía de estilo, yo mencionaría cosas como el "es mejor pedir perdón que pedir permiso", que se refiere a escribir:

Código Python:
Ver original
  1. try:
  2.     a = milista[5]
  3. except IndexError:
  4.     print 'no hay un índice 5'

en vez de algo como

Código Python:
Ver original
  1. if len(milista) >= 6:
  2.     a = milista[5]
  3. else:
  4.     print 'no hay índice 5'

También vale mencionar el uso de comprensión de listas o generadores cuando sea posible (¡y legible!).

Una técnica en particular que me gusta bastante es usar diccionarios para suplantar a la construcción switch, que no existe en Python:

Código Python:
Ver original
  1. operador = 'suma'
  2.  
  3. opciones = {
  4.     'suma': 'elegiste suma',
  5.     'multiplicacion': 'elegiste multiplicacion'
  6.     'division': 'elegiste division',
  7.     'resta': 'elegiste resta'
  8. }
  9.  
  10. print opciones.get(operador, 'mala elección')

El equivalente usando 'switch' sería (en PHP):

Código PHP:
Ver original
  1. $operador = 'suma';
  2.  
  3. switch($operador) {
  4.     case 'suma': echo 'elegiste suma'; break;
  5.     case 'multiplicacion': echo 'elegiste multiplicacion'; break;
  6.     case 'division': echo 'elegiste division'; break;
  7.     case 'resta': echo 'elegiste resta'; break;
  8.     default: echo 'mala elección';
  9. }