# Python Turples

### Understanding Python Tuples

Sometimes, in programming, you need to store a collection of items that should remain constant and unchangeable. In Python, **tuples** are perfect for this purpose.

A **tuple** is like a list, but with one key difference: it cannot be modified. Python calls this property **immutability**. Simply put, once a tuple is created, its elements are set in stone.

---

### How to Define a Tuple

Creating a tuple is straightforward. It’s similar to creating a list, except that you use parentheses `()` instead of square brackets `[]`. For instance, here’s how you can define a tuple called `rgb`:

```python
rgb = ('red', 'green', 'blue')
```

You can access each element in the tuple using its index, just like you would with a list:

```python
rgb = ('red', 'green', 'blue')

print(rgb[0])  # Displays: red
print(rgb[1])  # Displays: green
print(rgb[2])  # Displays: blue
```

However, since tuples are immutable, trying to change any of their elements will result in an error. For example:

```python
rgb = ('red', 'green', 'blue')
rgb[0] = 'yellow'  # Attempting to modify the tuple
```

This code will produce the following error:

```python
TypeError: 'tuple' object does not support item assignment
```

---

### Special Case: Single-Element Tuples

Defining a tuple with one element requires a small but important detail: a trailing comma. Without it, Python won’t recognize the value as a tuple.

Here’s how to define a single-element tuple correctly:

```python
numbers = (3,)
print(type(numbers))  # Output: <class 'tuple'>
```

If you omit the trailing comma, Python will treat the value as a plain integer instead:

```python
numbers = (3)
print(type(numbers))  # Output: <class 'int'>
```

---

### Can You Change a Tuple?

While the elements of a tuple cannot be changed, you can assign a completely new tuple to the same variable. For example:

```python
colors = ('red', 'green', 'blue')
print(colors)  # Output: ('red', 'green', 'blue')

# Assigning a new tuple to the same variable
colors = ('Cyan', 'Magenta', 'Yellow', 'Black')
print(colors)  # Output: ('Cyan', 'Magenta', 'Yellow', 'Black')
```

This is a common practice when working with data that needs to remain immutable while still allowing for updates to the variable itself.

---

### Exercises

**1\. Create and Access Tuples**

* Create a tuple named `fruits` containing the strings `'apple'`, `'banana'`, and `'cherry'`.
    
* Print each fruit using its index.
    

**2\. Tuple Immutability**

* Create a tuple named `cities` containing three city names of your choice.
    
* Attempt to change one of the cities in the tuple and observe the result.
    

**3\. Single-Element Tuple**

* Create a single-element tuple named `number` containing the value `42`.
    
* Verify its type using the `type()` function.
    

**4\. Reassigning a Tuple**

* Define a tuple named `shapes` with the values `'circle'`, `'square'`, and `'triangle'`.
    
* Reassign the `shapes` variable to a new tuple containing `'hexagon'`, `'pentagon'`, and `'octagon'`.
    
* Print both tuples to confirm the reassignment.
    

---

---

Practicing these exercises will help solidify your understanding of tuples and their role in Python programming.

### **Ready to Become a Python Developer?**

Take your Python skills to the next level with our **Python Comprehensive Developer Bootcamp**!

🚀 **What You'll Learn:**

* Master Python from beginner to advanced levels.
    
* Build real-world projects to showcase your expertise. in areas such as game development, machine learning, data analysis, web development, automation etc
    
* Prepare for a successful career in Python development!
    

📅 **Duration:** 3 months of immersive learning  
🎯 **Goal:** Become job-ready with industry-standard skills  
💻 **Format:** Online with live classes and mentorship

Don't wait to start your journey as a Python developer. Enroll today and transform your future

JOIN US ON WHATSAPP

[PYTHON DEVELOPER BOOTCAMP](https://chat.whatsapp.com/D8C2iDRD51ELWJ3Vu5HFWk)
