Un curso intensivo sobre encasillamiento y conversión de tipos en Python de una manera muy poco detallada

Tipo de fundición
El proceso de conversión de un tipo de datos en otro tipo de datos se llama Typecasting o Type Coercion o Type Conversion .
Los temas en los que me centraré en este artículo son:
- Conversión de tipo implícita
- Conversión de tipo explícito
- Ventajas
- Desventajas
Conversión de tipo implícita
Cuando el intérprete realiza automáticamente la conversión de tipo sin la intervención del programador, ese tipo de conversión se denomina conversión de tipo implícita .
Programa de ejemplo:
myInt = 143 # Integer value.myFloat = 1.43 # Float value.
myResult = myInt + myFloat # Sum result
print("datatype of myInt:",type(myInt))print("datatype of myFloat:",type(myFloat))
print("Value of myResult:",myResult)print("datatype of myResult:",type(myResult))
Salida:
El resultado del programa anterior será:
datatype of myInt: datatype of myFloat: Value of myResult: 144.43datatype of myResult:
En el programa anterior,
- Agregamos dos variables myInt y myFloat, almacenando el valor en myResult.
- Veremos el tipo de datos de los tres objetos respectivamente.
- En la salida, podemos ver que el tipo de datos de myInt es an
integer
, el tipo de datos de myFloat es unfloat
. - Además, podemos ver que myFloat tiene
float
un tipo de datos porque Python convierte un tipo de datos más pequeño en un tipo de datos más grande para evitar la pérdida de datos.
Este tipo de conversión se denomina conversión de tipo implícito (o) UpCasting .
Conversión de tipo explícito
En Conversión de tipo explícito, los usuarios convierten el tipo de datos de un objeto al tipo de datos requerido. Usamos funciones integradas predefinidas como:
- En t()
- flotador()
- complejo()
- bool ()
- str ()
La sintaxis para la conversión de tipos explícita es:
(required_datatype)(expression)
Este tipo de conversión se denomina conversión de tipo explícito (o) DownCasting .
Conversión Int
Podemos usar esta función para convertir valores de otros tipos a int.
Por ejemplo:
>>> int(123.654)123
>>>int(False)0
>>> int("10")10
>>> int("10.5")ValueError: invalid literal for int() with base 10: '10.5'
>>> int("ten")ValueError: invalid literal for int() with base 10: 'ten'
>>> int("0B1111")ValueError: invalid literal for int() with base 10: '0B1111'
>>> int(10+3j)TypeError: can't convert complex to int
Nota:
- No puede convertir tipos de datos complejos a int
- Si desea convertir el tipo de cadena en tipo int, el literal de cadena debe contener el valor en Base-10
Conversión flotante
Esta función se utiliza para convertir cualquier tipo de datos a un número de coma flotante.
Por ejemplo:
>>> float(10) 10.0
>>> float(True)1.0
>>> float(False)0.0
>>> float("10")10.0
>>> float("10.5")10.5
>>> float("ten")ValueError: could not convert string to float: 'ten'
>>> float(10+5j)TypeError: can't convert complex to float
>>> float("0B1111")ValueError: could not convert string to float: '0B1111'
Nota:
- Puede convertir un tipo complejo en un valor de tipo flotante.
- Si desea convertir el tipo de cadena en tipo flotante, el literal de cadena debe contener el valor en base 10.
Conversión compleja
Esta funciónse utiliza para convertir números reales en números complejos (reales, imaginarios).
Forma 1: complejo (x)
Puede utilizar esta función para convertir un valor único en un número complejo con la parte real xy la parte imaginaria 0.
Por ejemplo:
>>> complex(10)10+0j
>>> complex(10.5)10.5+0j
>>> complex(True)1+0j
>>> complex(False)0+0j
>>> complex("10")10+0j
>>> complex("10.5")10.5+0j
>>> complex("ten")ValueError: complex() arg is a malformed string
Forma 2: complejo (x, y)
Si desea convertir X e Y en un número complejo de modo que X será parte real e Y será parte imaginaria.
Por ejemplo:
>>> complex(10,-2)10-2j
>>> complex(True, False)1+0j
Conversión booleana
Esta función se utiliza para convertir fácilmente cualquier tipo de datos a tipos de datos booleanos. Es el tipo de datos más flexible de Python.
Por ejemplo:
>>> bool(0)False
>>> bool(1)True
>>> bool(10)True
>>> bool(0.13332)True
>>> bool(0.0)False
>>> bool(10+6j)True
>>> bool(0+15j)True
>>> bool(0+0j)False
>>> bool("Apple")True
>>> bool("")False
Nota: Con la ayuda de la función bool, puede convertir cualquier tipo de tipo de datos en booleano y la salida será: Para todos los valores producirá True excepto 0, 0 + 0j y para una Cadena vacía.Conversión de cadenas
Esta función se utiliza para convertir cualquier tipo en un tipo de cadena.
Por ejemplo:
>>> str(10)'10'
>>> str(10.5)'10.5'
>>> str(True)'True'
>>> str(False)'False'
>>> str(10+5j)'10+5j'
>>> str(False)'False'
Programa de ejemplo:
integer_number = 123 # Intstring_number = "456" # String
print("Data type of integer_number:",type(integer_number))print("Data type of num_str before Type Casting:",type(num_str))
string_number = int(string_number)print("Data type of string_number after Type Casting:",type(string_number))
number_sum = integer_number + string_number
print("Sum of integer_number and num_str:",number_sum)print("Data type of the sum:",type(number_sum))
Salida:
Cuando ejecutamos el programa anterior, la salida será:
Data type of integer_number: Data type of num_str before Type Casting: Data type of string_number after Type Casting: Sum of integer_number and num_str: 579Data type of the sum:
En el programa anterior,
- Agregamos la variable string_number y integer_number.
- Convertimos string_number de string (mayor) a tipo entero (menor) usando la
int()
función para realizar la suma. - After converting string_number to an integer value Python adds these two variables.
- We got the number_sum value and data type to be an integer.
Advantages Of Typecasting
- More convenient to use
Disadvantages Of Typecasting
- More complex type system
- Source of bugs due to unexpected casts
I covered pretty much everything that is required to perform any type of typecasting operation in Python3.
Hope this helped you learn about Python Typecasting in a quick and easy way.
If you liked this article please click on the clap and leave me your valuable feedback.