Pregunta

En la documentación de Python y en las listas de correo, veo que los valores a veces se "emiten" y "a veces" son obligatorios. ¿Cuál es la diferencia?

¿Fue útil?

Solución

Creo que " casting " no debe utilizarse para Python; solo hay conversión de tipo, pero no hay conversiones (en el sentido C). Se realiza una conversión de tipo, por ejemplo. a través de int (o) donde el objeto o se convierte en un entero (en realidad, un objeto entero se construye a partir de o). La coacción ocurre en el caso de operaciones binarias: si hace x + y , yx y y tienen diferentes tipos, se convierten en un solo tipo antes de realizar la operación. En 2.x, un método especial __coerce__ permite que el objeto controle su coerción.

Otros consejos

El lanzamiento es explícito. La coerción es implícita.

Los ejemplos en Python serían:

cast(2, POINTER(c_float)) #cast
1.0 + 2  #coerce 
1.0 + float(2) #conversion

El reparto realmente solo aparece en el C FFI. Lo que normalmente se denomina casting en C o Java se conoce como conversión en python, aunque a menudo se lo conoce como casting debido a sus similitudes con esos otros lenguajes. En casi todos los idiomas que tengo experiencia con (incluyendo python) Coercion es cambio de tipo implícito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top