Learn typecasting in Python

Learn typecasting in Python

A crash course on Typecasting and Type conversion in Python in a very non-verbose manner


TypeCasting

The process of converting one data type to another data type is called Typecasting or Type Coercion or Type Conversion.

The topics that I’ll be focusing on in this article are:

  1. Implicit Type Conversion
  2. Explicit Type Conversion
  3. Advantages
  4. Disadvantages

Implicit Type Conversion

When the type conversion is performed automatically by the interpreter without the programmer’s intervention, that type of conversion is referred to as implicit type conversion.


Example Program:

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))

Output:

The output for the above program will be:

datatype of myInt: <class 'int'>
datatype of myFloat: <class 'float'>
Value of myResult: 144.43
datatype of myResult: <class 'float'>

In the above program,

  • We add two variables myInt and myFloat, storing the value in myResult.
  • We will look at the data type of all three objects respectively.
  • In the output, we can see the datatype of myInt is an integer, the datatype of myFloat is a float.
  • Also, we can see the myFloat has float data type because Python converts smaller data type to larger data type to avoid the loss of data.

This type of conversion is called Implicit Type conversion (or) UpCasting.


Explicit Type Conversion

In Explicit Type Conversion, users convert the data type of an object to the required data type. We use predefined in-built functions like:

  1. int()
  2. float()
  3. complex()
  4. bool()
  5. str()

The syntax for explicit type conversion is:

(required_datatype)(expression)

This type of conversion is called Explicit Type conversion (or) DownCasting.


Int Conversion

We can use this function to convert values from other types to int.

For example:

>>> 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

Note:

  1. You can’t convert complex datatype to int
  2. If you want to convert string type to int type, the string literal must contain the value in Base-10

Float Conversion

This function is used to convert any data type to a floating point number.

For example:

>>> 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'

Note:

  1. You can convert complex type to float type value.
  2. If you want to convert string type to float type, the string literal must contain the value in base-10.

Complex Conversion

This functionis used to convert real numbers to a complex (real, imaginary) number.


Form 1: complex (x)

You can use this function to convert a single value to a complex number with real part x and imaginary part 0.

For example:

>>> 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

Form 2: complex (x, y)

If you want to convert X and Y into complex number such that X will be real part and Y will be imaginary part.

For example:

>>> complex(10,-2)
10-2j

>>> complex(True, False) 1+0j

Boolean Conversion

This function is used to convert any data type to boolean data type easily. It is the most flexible data type in Python.

For example:

>>> 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

Note: With the help of bool function, you can convert any type of datatype into boolean and the output will be - For all values it will produce True except 0, 0+0j and for an Empty String.

String Conversion

This function is used to convert any type into a string type.

For example:

>>> str(10)
'10'

>>> str(10.5) '10.5'

>>> str(True) 'True'

>>> str(False) 'False'

>>> str(10+5j) '10+5j'

>>> str(False) 'False'

Example Program:

integer_number = 123  # Int
string_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))

Output:

When we run the above program the output will be:

Data type of integer_number: <class 'int'>
Data type of num_str before Type Casting: <class 'str'>
Data type of string_number after Type Casting: <class 'int'>
Sum of integer_number and num_str: 579
Data type of the sum: <class 'int'>

In the above program,

  • We add string_number and integer_number variable.
  • We converted string_number from string(higher) to integer(lower) type using int() function to perform addition.
  • 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

  1. More convenient to use

Disadvantages Of Typecasting

  1. More complex type system
  2. 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.


Learn More

Complete Python: Go from zero to hero in Python

An A-Z of useful Python tricks

A Complete Machine Learning Project Walk-Through in Python

A Feature Selection Tool for Machine Learning in Python

Learning Python: From Zero to Hero

MongoDB with Python Crash Course - Tutorial for Beginners

Introduction to PyTorch and Machine Learning

Python Tutorial for Beginners (2019) - Learn Python for Machine Learning and Web Development

Build Your First Open Source Python Project

Complete Python Bootcamp: Go from zero to hero in Python 3

Python and Django Full Stack Web Developer Bootcamp

The Python Bible™ | Everything You Need to Program in Python

Originally published by PALAKOLLU SRI MANIKANTA at https://medium.freecodecamp.org

python

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Basic Data Types in Python | Python Web Development For Beginners

In the programming world, Data types play an important role. Each Variable is stored in different data types and responsible for various functions. Python had two different objects, and They are mutable and immutable objects.

How To Compare Tesla and Ford Company By Using Magic Methods in Python

Magic Methods are the special methods which gives us the ability to access built in syntactical features such as ‘<’, ‘>’, ‘==’, ‘+’ etc.. You must have worked with such methods without knowing them to be as magic methods. Magic methods can be identified with their names which start with __ and ends with __ like __init__, __call__, __str__ etc. These methods are also called Dunder Methods, because of their name starting and ending with Double Underscore (Dunder).

Python Programming: A Beginner’s Guide

Python is an interpreted, high-level, powerful general-purpose programming language. You may ask, Python’s a snake right? and Why is this programming language named after it?

Hire Python Developers

Are you looking for experienced, reliable, and qualified Python developers? If yes, you have reached the right place. At **[HourlyDeveloper.io](https://hourlydeveloper.io/ "HourlyDeveloper.io")**, our full-stack Python development services...

Python any: How to Check If Element is Iterable or Not

Python any() function returns True if any element of an iterable is True otherwise any() function returns False. The syntax is any().