🐍 Friday Python Question What happens here? 👇 a = "hello" a = a + " world" Is it still the same a? or a completely different object*? 🤔 Did we modify the original string? Did Python create something new behind the scenes? 🥚 Short answer - yes, Python did create something. 🐍 Python strings are immutable objects, so you can’t change them in place. When you do: a = a + " world" Python actually: creates a new string "hello world" and reassigns a to this new object, so it’s a different object in memory. How can you verify it? Use id(): a = "hello" print(id(a)) a = a + " world" print(id(a)) Absolutely different ids. * Understanding that everything in Python is an object explains decorators, metaclasses, and why you can pass functions as arguments. #Python #Coding #Programming #TechFriday
Python Strings Immutable Objects
More Relevant Posts
-
If you work with Python, have you ever wondered: • What are magic methods? • Are they the same as special methods? • What about “dunder methods”? First thing is, magic methods are not really magic.They are just special methods defined by the Python Data Model. And, guess what, magic methods, special methods and dunder methods are all the same thing. Amazing, right? Let’s look at a simple example: 𝗰𝗹𝗮𝘀𝘀 𝗠𝘆𝗖𝗼𝗹𝗹𝗲𝗰𝘁𝗶𝗼𝗻: 𝗱𝗲𝗳 __𝗹𝗲𝗻__(𝘀𝗲𝗹𝗳): 𝗿𝗲𝘁𝘂𝗿𝗻 𝟰𝟮 Now, when you call: 𝗹𝗲𝗻(𝗼𝗯𝗷) You’re NOT calling your method directly, Python is. This is the key insight and it is very important as we are going to see on another post. Takeaway: “Magic methods” are not magic. They are contracts with the Python interpreter. Implementing such methods are going to open a lot of new doors and it is a very pythonic whay of implementing your code. #python #magicmethods #dundermethods #specialmethods
To view or add a comment, sign in
-
One concept in Python that appears simple but carries deeper implications is mutability. On the surface, we categorize: - Lists and dictionaries as mutable - Strings and tuples as immutable However, the real impact becomes clear when considering memory and references. In Python, variables do not store values directly; they store references to objects. Thus, when you assign one variable to another, you are not copying data — you are pointing to the same object in memory. This distinction leads to very different behaviors between mutable and immutable types. With immutable objects, any modification results in the creation of a new object. In contrast, mutable objects allow the original object to be modified in place. This difference directly influences: - How functions behave - How data flows across modules - The emergence of subtle bugs in production Understanding this concept has aided me in debugging issues that initially seemed perplexing. It has also transformed my perspective on passing data between functions. Sometimes, the problem lies not in the logic but in how the data is being referenced. #Python #SoftwareEngineering #BackendDevelopment #Programming
To view or add a comment, sign in
-
At this point, Python is starting to feel less like a language… and more like a toolkit. Today’s Python MahaRevision 🧠 Chapter 13: Advanced Python (Part 2) This chapter introduced some really powerful and practical concepts: → Virtual environments → pip freeze (managing dependencies) → Lambda functions → bin() method → format() function → map, filter, reduce It’s interesting how these tools make code shorter, cleaner, and more efficient—once you understand how to use them properly. Practice set done: Worked on applying lambda functions, transforming data using map/filter, experimenting with reduce, and managing environments and dependencies. Some concepts felt a bit abstract at first (especially map/filter/reduce)… but with practice, they started making more sense. Biggest takeaway: Better tools don’t just make coding easier—they change how you think about solving problems. Still exploring, still improving. #Python #LearningInPublic #CodingJourney #Programming #AdvancedPython
To view or add a comment, sign in
-
Python : 03 🎯String operation: formatting string Here we'll be introduced how we can combine strings from the variable using formatting string. Let's take a look- variable1 = a variable2 = b lets call a variable called 'combined string' combined_string = f"{a} {b}" [💡# Here "f" stands for 'formatting'] print(combined_string) Result: a b [ 💡 Note: In Python (and most programming languages), quotes are the "boundary" that tells the computer: "Do not process this; just treat it as plain text. "When you omit the quotes, Python looks for a variable with that name. It goes to the memory location where combined_string is stored and grabs the value.] So, that is called a formatted string! ✅ This is the modern and most efficient way to format strings in Python. It evaluates the expressions inside the curly braces and converts them to text. Make sure you follow this account for more! #python #CodingCommunity #PythonDeveloper #coding #TechCommunity #Developers #pythonprogramming
To view or add a comment, sign in
-
-
Stop Wasting Memory! Conquer Python’s Deadliest Trap: The Reference Cycle. Think your Python code is perfectly memory-efficient just because you use del? Think again. You could be leaving massive memory leaks on the table, and it’s time to see exactly why. I’ve put together this definitive four-panel visualization to expose the inner workings of CPython’s memory management and, more importantly, why it sometimes fails without help. Reference cycles are silent performance killers. When objects get stuck pointing to each other, they become isolated ‘zombies’ that refuse to die, driving up your application’s footprint and potentially triggering crashes. This guide isn’t just theoretical—it's essential knowledge for writing production-ready, scalable Python: See the Illusion: We show how innocently two lists get created. Witness the Trap: Watch as simple append operations create an unbreakable bond—the cycle is born, and ref counts skyrocket. Feel the 'Deadlock': The scariest part. You delete the variables, but the objects live on. They are unreachable, invisible, yet still consuming precious RAM. Meet Your Savior: We introduce the Cyclic Garbage Collector (GC). It’s the only tool powerful enough to break this deadlock and reclaim that trapped memory. Understanding this mechanism isn't optional; it's the difference between a leaky script and robust software. Study this diagram, understand the stakes, and start writing cleaner, smarter Python. What’s your biggest memory optimization challenge? Share it in the comments! 👇 #Python #CPython #MemoryManagement #Programming #TechExplainer #CodingBestPractices #SoftwareEngineering #DataStructures
To view or add a comment, sign in
-
-
🚀 Today I Learned: Operator Overloading in Python While exploring Object-Oriented Programming in Python, I came across an interesting concept — Operator Overloading. 👉 It allows us to define how operators like "+", "-", "*" behave for our own custom objects. 💡 Simple Idea: Instead of using operators only for numbers, we can use them for our own classes too! 🔧 Example: class Number: def __init__(self, value): self.value = value def __add__(self, other): return Number(self.value + other.value) def __str__(self): return f"{self.value}" n1 = Number(10) n2 = Number(20) print(n1 + n2) # Output: 30 🔥 Here, "+" is not just adding numbers — it’s calling "__add__()" behind the scenes! 📌 Key Takeaways: ✔ Operator overloading improves code readability ✔ Uses special methods (dunder methods like "__add__") ✔ Makes objects behave like real-world entities ✔ Important concept in OOP & interviews 💭 Learning how small features like this work internally really changes the way we write code. #Python #OOP #CodingJourney #100DaysOfCode #Programming #Learning
To view or add a comment, sign in
-
💡 Is Python Interpreted or Compiled? 🤔 When I first learned Python, I thought: 👉 “Python is an interpreted language.” But later I realized… 👉 It’s actually both. Here’s what really happens behind the scenes 👇 1️⃣ You write Python code (.py) 2️⃣ Python compiles it into bytecode (.pyc) 3️⃣ This bytecode is executed by the Python Virtual Machine (PVM) 👉 That’s why Python feels like an interpreted language 👉 But internally, compilation is also happening 💡 In short: Python = Compiled + Interpreted Why does this matter? ✔ Platform independent ✔ Easier debugging ✔ Slower than fully compiled languages (like C) This small detail completely changed how I understand Python ⚡ Did you know this before? 👇 #Python #Programming #Coding #TechConcepts #LearnInPublic
To view or add a comment, sign in
-
-
🐍 Python Tip 5: Use set() to remove duplicates from a list Sometimes while working with data, we may have duplicate values in a list. Instead of writing extra logic, Python provides a simple way: numbers = [1, 2, 2, 3, 4, 4, 5] unique_numbers = list(set(numbers)) print(unique_numbers) Output: [1, 2, 3, 4, 5] Why this is useful? • Quick way to remove duplicates • Very helpful in data preprocessing • Saves time and keeps code simple Small tricks like this make working with data much easier. Note: This does not preserve order. If order matters, a different approach is needed. #Python #PythonTips #DataScience #CodingTips #Programming #LearnPython
To view or add a comment, sign in
-
Most Python code looks simple until you realize how much is happening under the surface. Take this for example: _C = (1, 2, 3) a, b, c = _C print(a) This is iterable unpacking, more precisely Python’s way of doing positional destructuring assignment. What actually happens: _C is evaluated as an iterable Python matches elements positionally Each value is bound in a single atomic assignment step So internally: a = _C[0] b = _C[1] c = _C[2] This pattern is not just syntactic sugar, it is widely used in production code: Function return unpacking (return x, y) Iteration over structured data API responses and tuple-based records Why it matters: Removes manual indexing (less error prone) Improves intent readability Makes transformations explicit and compact One important constraint: If the structure does not match, Python fails fast with a ValueError, which is often a feature, not a bug. Clean syntax, strict alignment, predictable behavior. That is the philosophy behind Python’s design. Which Python feature felt too simple until you saw it in real systems? #Python #SoftwareEngineering #CleanCode #Programming #PythonTips #Coding #Developer #SystemDesign
To view or add a comment, sign in
-
🚀 Day 27 of Python Problem Solving!! Today, I worked on the classic Two Sum problem. 💡 What I Practiced Today: Traversing arrays using loops Understanding brute force vs optimized approaches Using hashmaps (dictionaries) for faster lookups Improving time complexity from O(n²) to O(n) Writing clean and efficient Python code 🧠 Problem Statement: Given an array of integers nums and an integer target, return the indices i and j such that: nums[i] + nums[j] == target and i != j. 📌 Example: Input: nums = [2, 7, 11, 15], target = 9 Output: [0, 1] ✨ I explored two approaches: 1️⃣ Brute Force using nested loops (O(n²)) 2️⃣ Optimized approach using a dictionary for constant-time lookup (O(n)) This problem helped me understand how choosing the right data structure can significantly improve performance — an important concept for coding interviews. #Day27 #100DaysOfCode #Python #CodingJourney #ProblemSolving #DataStructures #Programming #LearnToCode #TechJourney
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development