Python Learning
5.84K subscribers
546 photos
2 videos
85 files
120 links
Python learning resources

Beginner to advanced Python guides, cheatsheets, books and projects.

For data science, backend and automation.
Join πŸ‘‰ https://rebrand.ly/bigdatachannels

DMCA: @disclosure_bds
Contact: @mldatascientist
Download Telegram
Python Lambda Functions
❀5
πŸš€ Python Mastery Roadmap

1️⃣ Basics – Syntax, loops, functions, exceptions

2️⃣ DS & Algorithms – Arrays, stacks, recursion, sorting

3️⃣ Modules & Advanced – Lambdas, decorators, regex

4️⃣ OOP – Classes, inheritance, dunder methods

5️⃣ Packages & Comprehensions – pip, conda, list comps

6️⃣ Frameworks & Concurrency – Flask, FastAPI, threading

7️⃣ Pro Skills – Typing, Testing, Docs, Docker, CI/CD

🎯 Stay consistent, build projects, master Python.
❀6
Python String Formatting
❀4
List Comprehension in Python
❀2
9 Hard Truths About Learning Python
❀3
Forwarded from Programming Quiz Channel
In Python, what is the result of len("abc" * 3)?
Anonymous Quiz
22%
3
11%
6
60%
9
7%
12
10 Python Built-in Functions You Should Know
❀2
What's the output of the code snippet?
What's the output of the code snippet?
Introduction to Computer Science and Programming Using Python (MIT OCW)

This course teaches computational thinking and Python programming from the ground up. It is rigorous, university level, and excellent for developers who want strong fundamentals rather than just syntax. Completely FREE and highly respected course.

πŸ“š 12 lectures with assignments
⏰ Duration: 9–12 weeks
πŸƒβ€β™‚οΈ Self Paced
Created by πŸ‘¨β€πŸ«: MIT Professors
πŸ”— Course Link

#Python #ComputerScience #MIT
βž–βž–βž–βž–βž–βž–βž–βž–βž–βž–βž–βž–βž–βž–
πŸ‘‰ Join @bigdataspecialist for more πŸ‘ˆ
❀2
Pass by Object Reference in Python

Is Python pass-by-value or pass-by-reference? 

➑️ Actually, Python uses Pass by Object Reference.

That means:
The function receives a reference to the same object.

πŸ“Œ Example: Mutable Object

def modify(lst):
    lst.append(4)

nums = [1, 2, 3]
modify(nums)

print(nums)


Output:
[1, 2, 3, 4]


πŸ‘‰ The original list changed 
Because the function received a reference 
to the SAME object in memory.


πŸ“Œ Example: Immutable Object

def modify(x):
    x = x + 1
    print("Inside:", x)

num = 10
modify(num)

print("Outside:", num)


Output:
Inside: 11
Outside: 10


πŸ‘‰ Integer did not change 
Because integers are immutable 
Reassignment creates a new object.


🎯 Core Idea

β€’ Functions receive object references 
β€’ Mutable objects can be modified 
β€’ Immutable objects create new objects 
β€’ Python is NOT pure pass-by-value 
β€’ Python is NOT pure pass-by-reference 

βœ… It is Pass by Object Reference.
❀4
🧠 Garbage Collection & Reference Counting in Python

Python automatically manages memory. 
Objects are deleted when they are no longer used.

πŸ“Œ Reference Counting

Every object tracks how many variables point to it. 
When the count becomes 0, it is removed.

a = [1, 2, 3]
b = a

del a
del b


Reference count:
a β†’ 1
a, b β†’ 2
after del β†’ 0
Object deleted


πŸ“Œ Circular Reference Problem

Two objects pointing to each other 
will never reach reference count 0.

class Node:
    def __init__(self):
        self.ref = None

a = Node()
b = Node()

a.ref = b
b.ref = a

del a
del b


Both objects still reference each other
Reference count β‰  0


πŸ“Œ Garbage Collector (GC)

Python’s GC:
β€’ Detects unreachable cycles 
β€’ Breaks circular references 
β€’ Frees memory safely 

🎯 Core Idea

Reference Counting β†’ Main mechanism 
GC β†’ Handles circular references
❀4
What's the output of the code snippet?
❀2
πŸ”₯ is vs == in Python

Many developers confuse these two operators. 
But they check completely different things.

πŸ“Œ == (Equality Operator)

== checks whether values are equal.

a = [1, 2, 3]
b = [1, 2, 3]

print(a == b)


```text
Output:
True


πŸ‘‰ Values are the same 
πŸ‘‰ Even though they are different objects


πŸ“Œ is (Identity Operator)

is checks whether two variables point to the same object in memory.

python
a = [1, 2, 3]
b = [1, 2, 3]

print(a is b)


text
Output:
False


πŸ‘‰ They are stored at different memory locations 
πŸ‘‰ So identity is different


πŸ“Œ When is returns True

python
x = [1, 2, 3]
y = x

print(x is y)


text
Output:
True`


πŸ‘‰ Both reference the SAME object

🎯 Quick Difference

β€’ == β†’ Compares values 
β€’ is β†’ Compares memory identity 
β€’ Use == for value comparison 
β€’ Use is mainly for None checks
❀5
πŸš€ Shallow Copy vs Deep Copy in Python

When copying objects in Python, behavior changes for nested data structures.


πŸ“Œ Shallow Copy

A shallow copy creates a new outer object 
but inner objects remain shared references πŸ”— 

import copy

original = [[1, 2], [3, 4]]
shallow = copy.copy(original)

shallow[0].append(99)

print(original)
print(shallow)


Output:
[[1, 2, 99], [3, 4]]
[[1, 2, 99], [3, 4]]


πŸ‘‰ Nested objects are shared.


πŸ“Œ Deep Copy

A deep copy creates a completely independent copy 
including all nested objects 🧠 

import copy

original = [[1, 2], [3, 4]]
deep = copy.deepcopy(original)

deep[0].append(99)

print(original)
print(deep)


Output:
[[1, 2], [3, 4]]
[[1, 2, 99], [3, 4]]


πŸ‘‰ No shared references.


🎯 Quick Difference

β€’ Shallow β†’ Copies outer layer only 
β€’ Deep β†’ Copies entire structure 
β€’ Use deep copy for nested data
❀4