Python Programming Language

Basics of Python

Python Data Types - Python Tutorials

Python Data Types

Within the domain of Python programming, the pivotal factor for organizing and manipulating information is the concept of Python data types. These foundational elements determine the nature of values that Python variables can accommodate and the operations that can be executed on them.

Take a look at all the topics that are discussed in this article:

Profound comprehension of these data types is essential for the creation of Python code that is not only efficient and accurate but also exhibits elegance.

What is a Data Type?

A data type is a classification that specifies which type of value a variable can hold in computer programming. It defines the characteristics of the data, such as its size, format, and the operations that can be performed on it. Common data types include integers, floating-point numbers, characters, and booleans.

What is Python type() Function?

The type() function in Python is used to get the type of an object. It returns the type of the specified object, which can be a built-in type or a user-defined class.

The general Python syntax of the type() function is:

				
					type(object)
				
			

Here, object is the object whose type you want to determine. The type() function will return a type object, which represents the type of the given object.

Here are a few examples:

				
					# Example 1: Integer
x = 10
print(type(x))  # Output: <class 'int'>

# Example 2: String
y = "Hello, World!"
print(type(y))  # Output: <class 'str'>

# Example 3: List
z = [1, 2, 3]
print(type(z))  # Output: <class 'list'>

				
			

You can use the type() function to check the type of any object, whether it’s a number, string, list, tuple, dictionary, or a custom-defined class.

Types of Python Data Types

Python has several standard data types that are commonly used in programming. Here are some of the primary ones:

Data Type Examples
Numeric int, float, complex
String str
Sequence list, tuple, range
Binary bytes, bytearray, memoryview
Mapping dict
Boolean bool
Set set, frozenset
None NoneType

Numeric Data Types in Python

Python supports several numeric data types that allow you to work with different types of numbers in your code. The core numeric types are integers, floating-point numbers, complex numbers, and Boolean values.

  • int – Integer values. Example: 5, -10, 0
  • float – Floating point decimal values. Example: 1.5, -3.14, 0.0
  • complex – Complex numbers with real and imaginary parts. Example: 3+2j, -1.5-0.5j
  • bool – Boolean logical values True or False.

Integers

Integers are whole numbers without any decimal points. They can be positive or negative. In Python, integers are represented using the int data type.

Here’s an example:

				
					# Integer examples
x = 5
y = -10
sum_result = x + y
product_result = x * y

print("Integer Examples:")
print(f"x: {x}")
print(f"y: {y}")
print(f"Sum: {sum_result}")
print(f"Product: {product_result}")

				
			

Floating-Point Numbers

Floating-point numbers, or simply floats, are numbers that have decimal points. They can represent both integers and numbers with fractional parts. In Python, floats are represented using the float data type.

Here’s an example:

				
					# Floating-point examples
a = 3.14
b = 2.0
division_result = a / b
power_result = a ** b

print("\nFloating-Point Examples:")
print(f"a: {a}")
print(f"b: {b}")
print(f"Division: {division_result}")
print(f"Power: {power_result}")

				
			

Complex Numbers

Complex numbers have both a real and an imaginary part. They are represented in Python using the complex data type. The imaginary part is denoted by a suffix ‘j’ or ‘J’.

Here’s an example:

				
					# Complex number examples
z = 2 + 3j
w = 1 - 2j
addition_result = z + w
multiplication_result = z * w

print("\nComplex Number Examples:")
print(f"z: {z}")
print(f"w: {w}")
print(f"Addition: {addition_result}")
print(f"Multiplication: {multiplication_result}")

				
			

Sequence Data Types in Python

Python includes several built-in types for storing sequential data, known as sequences. The main sequence types are lists, tuples, and strings.

  • Python Lists – Mutable ordered sequences of elements. Defined with square brackets.
  • Python Tuples – Immutable ordered sequences of elements. Defined with parentheses.
  • Python Strings – Immutable sequences of Unicode characters representing text. Defined with quotes.

Python Lists

Lists are perhaps the most commonly used sequence data type in Python. They are ordered, mutable (modifiable), and can contain elements of different data types. Lists are defined using square brackets [] and can be easily modified by adding, removing, or changing elements.

Here’s an Example:

				
					# Creating a list of numbers
numbers = [1, 2, 3, 4, 5]

# Accessing elements using indexing
print("First element:", numbers[0])    # Output: 1

# Slicing to get a subset of the list
subset = numbers[2:4]
print("Subset:", subset)                # Output: [3, 4]

# Modifying the list
numbers.append(6)
print("After appending 6:", numbers)    # Output: [1, 2, 3, 4, 5, 6]

# List comprehension to create a new list
squared_numbers = [x**2 for x in numbers]
print("Squared numbers:", squared_numbers)
# Output: [1, 4, 9, 16, 25, 36]

				
			

Python Tuples

Tuples are similar to lists, but they are immutable, meaning their elements cannot be modified once defined. Tuples are created using parentheses ().

Here’s an Example:

				
					# Creating a tuple of fruits
fruits = ('apple', 'banana', 'orange')

# Accessing elements using indexing
print("Second fruit:", fruits[1])      # Output: banana

# Concatenating tuples
new_fruits = ('grape', 'kiwi')
combined_fruits = fruits + new_fruits
print("Combined fruits:", combined_fruits)
# Output: ('apple', 'banana', 'orange', 'grape', 'kiwi')

# Repetition of tuples
repeated_fruits = fruits * 2
print("Repeated fruits:", repeated_fruits)
# Output: ('apple', 'banana', 'orange', 'apple', 'banana', 'orange')

				
			

Python Strings

Strings are sequences of characters and are widely used for representing textual data. They are immutable like tuples and are created using single (‘) or double (“) quotes.

Here’s an Example:

				
					# Creating a string
greeting = "Hello, "

# Concatenating strings
name = "Alice"
full_greeting = greeting + name
print("Full greeting:", full_greeting)  # Output: Hello, Alice

# String formatting
age = 30
formatted_greeting = f"{greeting}{name}! You are {age} years old."
print("Formatted greeting:", formatted_greeting)
# Output: Hello, Alice! You are 30 years old.

# Slicing strings
substring = full_greeting[7:]
print("Substring:", substring)          # Output: Alice

				
			

Python Range

The range type represents an immutable sequence of numbers and is commonly used in loops. It is created using the range() function.

Here’s an Example:

				
					# Creating a range
my_range = range(3, 10, 2)  # Start at 3, end at 10 (exclusive), step by 2

# Converting range to a list for indexing
range_list = list(my_range)
print("Range as list:", range_list)  # Output: [3, 5, 7, 9]

# Iterating over the range
for num in my_range:
    print(num)
# Output:
# 3
# 5
# 7
# 9

				
			

Boolean Data Type in Python

Boolean data types play a crucial role in programming languages, including Python. Named after mathematician and logician George Boole, Boolean values represent truth or falsehood, often denoted as True or False.

In Python, understanding Boolean data types is fundamental for decision-making processes and controlling the flow of a program.

Basics of Boolean Data Types

In Python, the two Boolean values are True and False. These values are often the result of comparison operations or logical expressions. For example:

				
					result = 5 > 3
print(result)  # Output: True

				
			

Comparison Operators

Boolean values are frequently generated through comparison operators, which compare two values and return a Boolean result. Common comparison operators include:

  • == (equal to)
  • != (not equal to)
  • < (less than)
  • > (greater than)
  • <= (less than or equal to)
  • >= (greater than or equal to)

For example:

				
					x = 10
y = 5

equals = x == y
not_equals = x != y
greater_than = x > y
less_than_or_equal = x <= y

print(equals)  # Output: False
print(not_equals)  # Output: True
print(greater_than)  # Output: True
print(less_than_or_equal)  # Output: False

				
			

Logical Operators

Boolean values can also be manipulated using logical operators. These operators include:

  • and: Returns True if both operands are True.
  • or: Returns True if at least one operand is True.
  • not: Returns the opposite Boolean value of the operand.

For example:

				
					a = True
b = False

result_and = a and b
result_or = a or b
result_not = not a

print(result_and)  # Output: False
print(result_or)   # Output: True
print(result_not)  # Output: False

				
			

Boolean in Control Structures

Boolean values are commonly used in control structures like if statements, while loops, and for loops to determine the flow of a program.

For example:

				
					age = 25

if age >= 18:
    print("You are eligible to vote.")
else:
    print("You are not eligible to vote.")

				
			

Truthy and Falsy Values

In Python, many values can be evaluated as True or False in a Boolean context. Values that are considered False are referred to as falsy values, and those evaluated as True are truthy values. Some common falsy values include False, None, 0, 0.0, “” (empty string), and empty data structures like empty lists, tuples, sets, and dictionaries.

For example:

				
					if 0:
    print("This won't be printed.")
else:
    print("This will be printed.")

				
			

Set Data Type in Python

In Python, a set is an unordered and mutable collection of distinct elements. Sets are commonly used to perform mathematical set operations such as union, intersection, difference, and symmetric difference. They are implemented in Python as a built-in data type, and their versatility makes them valuable in various scenarios.

Creating a Set

You can create a set in Python using curly braces {} or the set() constructor.

Here’s an example:

				
					# Using curly braces
my_set = {1, 2, 3, 4, 5}

# Using set() constructor
another_set = set([3, 4, 5, 6, 7])

				
			

Set Operations

Sets support various operations to manipulate their elements. Some of the common set operations include:

Adding Elements

				
					my_set.add(6)
				
			

Removing Elements

				
					my_set.remove(3)

				
			

Union

				
					union_set = my_set.union(another_set)

				
			

Intersection

				
					intersection_set = my_set.intersection(another_set)
				
			

Difference

				
					difference_set = my_set.difference(another_set)

				
			

Symmetric Difference

				
					symmetric_difference_set = my_set.symmetric_difference(another_set)

				
			

Dictionary Data Type in Python

A dictionary in Python is an unordered collection of key-value pairs, where each key must be unique. This means that dictionaries allow you to associate a value with a specific identifier, providing a way to organize and retrieve data efficiently. The syntax for creating a dictionary involves using curly braces {} and separating key-value pairs with colons.

				
					# Creating a dictionary
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}

				
			

Basic Operations with Dictionaries

Accessing Values

To access the values of a dictionary, you can use square brackets and provide the key.

				
					# Accessing values
print(my_dict['name'])  # Output: John
print(my_dict['age'])   # Output: 25

				
			

Modifying Values

Dictionaries are mutable, meaning you can modify their values by assigning a new value to an existing key.

				
					# Modifying values
my_dict['age'] = 26
print(my_dict['age'])  # Output: 26

				
			

Adding New Key-Value Pairs

You can add new key-value pairs to a dictionary by assigning a value to a new key.

				
					# Adding a new key-value pair
my_dict['occupation'] = 'Developer'
print(my_dict)
# Output: {'name': 'John', 'age': 26, 'city': 'New York', 'occupation': 'Developer'}

				
			

Removing Key-Value Pairs

To remove a key-value pair, you can use the del statement.

				
					# Removing a key-value pair
del my_dict['city']
print(my_dict)
# Output: {'name': 'John', 'age': 26, 'occupation': 'Developer'}

				
			

Python’s diverse and flexible data types, ranging from numbers and strings to lists, tuples, sets, and dictionaries, empower developers to write efficient and expressive code.

With a dynamic typing system and extensive library support, Python is a versatile language suitable for various Python applications, making it an ideal choice for both beginners and seasoned programmers.

Mastering Python data types is a fundamental skill that enhances one’s ability to handle diverse programming tasks, from web development to data analysis and machine learning.

Categories