[Python] Diferencia Entre == E Is


Objetivo: [Python] Diferencia Entre == E Is
Hola!.

Pues es algo que estaba buscando y comentaba, cuando encontré el proyecto libro.
Por cierto muy interesante la nueva versión del libro "Como piensa un informático"..que
lo veo que el titulo original es: "How to Think Like a Computer Scientist"..

Osea, el científico de computadoras = informático. De ahí la traducción.

Aquí el libro:

http://openbookproject.net/thinkcs/python/english3e/

Y aquí el tema del que os hablaba en el mensaje:

http://auraham.wordpress.com/2012/0...peradores-e-is/

Me entretengo con todo...pong..pong..

Saludos

Objetivo: Re: [Python] Diferencia Entre == E Is
Creía que ibas a hablar de lo que pones en el titulo y resulta que no tiene nada que ver.

Te dispersas con mucha facilidad, shell. Debes centrarte un poco más, te lo digo desde el aprecio.

Saludos

Perfil MP  
Objetivo: Re: [Python] Diferencia Entre == E Is
Cierto, me distraigo a la primera de cambio...
Debe ser que quiero abarcarlo todo. Mucha información en poco tiempo.

Iba a ir directo por el tema del mensaje, pero cuando me quise dar cuenta,
estaba remirando el libro.

Al final, en el ultimo enlace hace referencia al tema. Aun así, por mas que he seguido buscando,
no encontré mas información. En la mayoría de las paginas que encontraba sobre Python y tutoriales
oficiales, cuando trataban el tema de las condicionales, is o not is lo pasaban por alto.

Para mi eso de "is" es algo nuevo que no estoy acostumbrado en Basic.

Saludos

Objetivo: Re: [Python] Diferencia Entre == E Is
En gambas también existe "IS" que comprueba si un objeto es una instancia de otro objeto o uno de sus descendientes. O lo que es lo mismo, si un objeto es del mismo tipo que otro. Es en cierto modo una comprobación de identidad.

Return "gambas" is String

' devuelve True


Se puede usar a la inversa usando el operador de negación "Not"

Return "gambas" is Not String

' devuelve False


En Python, no es exactamente lo mismo, pero la mejor forma de entenderlo es precisamente como una comparación de identidad, más que de valor.

Aunque muchas veces el resultado es el mismo usando 'is' o '==', éste último realmente compara los valores de los objetos, mientras que el anterior compara si las entidades son iguales.
El uso depende muchas veces del contexto, pero generalmente se usa '==' y sólo se usa 'is' cuando se trabaja con clases o estructuras de datos mutables.

Un ejemplo de cómo en ciertos casos no es igual usar uno u otro:

mi_nombre = "jesus"
tu_nombre = "suso"

print mi_nombre[2:]
# imprime 'sus'
print tu_nombre[:3]
# imprime también 'sus'

# por lo tanto:
mi_nombre[2:] == tu_nombre[:3]
# retorna verdadero... pero

mi_nombre[2:] is tu_nombre[:3]
# retorna falso!!


Hay una ligera diferencia entre ambos métodos de comparación, en la que 'is' implica cierta identidad en los objetos que se comparan.

Por cierto, el equivalente de IS (en gambas) en Python es "isinstance".


Saludos

Perfil MP  
Objetivo: Re: [Python] Diferencia Entre == E Is
Gracias.

Es parecido a lo que explica el segundo enlace.
Ahora mismo no le encuentro uso. Quizás cuando use POO.

Me surgió la duda del ultimo mini proyecto. Pong.
No le encontré a la instrucción un uso para este.

Saludos


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0999s (PHP: -25% SQL: 125%)
Consultas SQL: 29 - Debug off - GZIP Activado