Functions — def, parameters, return, docstrings
1.2.27· Coding › Introduction to Programming (Python)
WHY do functions exist?
Teen kaam jo ek function karta hai:
- Abstraction — kaise hota hai usse ek naam ke peeche chhupao (
area(r)instead of3.14159*r*r). - Reuse — kahin bhi, kitni bhi baar call karo.
- Isolation — iske andar ke variables apne scope mein rehte hain, toh woh baaki program ko pollute nahi karte.
WHAT is the anatomy? (Derivation from scratch)
Chalte hain ek function piece by piece banate hain, har step pe "yeh part kyun?" poochte hue.
Step 1 — def name():
Kyun? Python ko ek marker chahiye taaki woh samjhe "is block ko store karo, abhi run mat karo." def ek function object create karta hai aur usse name se bind karta hai. Define karna ≠ run karna.
def greet():
print("Hi")Abhi kuch print nahi hoga. Sirf greet() (parentheses ke saath) usse call karta hai.
Step 2 — parameters (x, y)
Kyun? Bina inputs ke ek machine hamesha same kaam karti hai. Parameters ek definition ko infinitely many inputs ke saath kaam karne dete hain.
def add(a, b): # a, b PARAMETERS hain (placeholders)
return a + b
add(2, 3) # 2 aur 3 ARGUMENTS hain (actual values)Step 3 — return
Kyun? Bina return ke, kaam hota hai lekin jawab shoonya mein ghum jaata hai. return result wapas bhejta hai taaki caller usse use kar sake.
def square(n):
return n * n
y = square(5) # y ab 25 haiStep 4 — docstring
Kyun? Chhe mahine baad tum (ya koi teammate) poochte ho "yeh kya karta hai?" Docstring woh documentation hai jo function ke andar rehti hai aur help() se padhi ja sakti hai.
def area(r):
"""Return the area of a circle of radius r."""
return 3.141592653589793 * r * rhelp(area) woh line print karta hai. Yeh def ke neeche pehla string literal hai.

HOW does a call actually work? (Execution trace)
Parameter flavours
return details that bite
Flashcards
Python mein function definition kaunse keyword se shuru hoti hai?
defParameter aur argument mein kya fark hai?
def line mein hota hai; argument woh actual value hai jo call karte waqt pass ki jaati hai.Agar function mein koi return statement nahi hai toh kya return hoga?
Noneprint aur return mein kya fark hai?
print screen pe text display karta hai; return caller ko value wapas bhejta hai aage use ke liye.Docstring kya hoti hai aur kaise likhte hain?
help() se padhi ja sakti hai.return a, b kya return karta hai?
(a, b).def f(items=[]) kyun dangerous hai?
Parameter ko default value kaise dete hain?
def power(base, exp=2):.return ke baad same path pe likhe code ka kya hota hai?
return function se turant exit karta hai.Function define karna vs call karna?
def name(): ... sirf function object banata hai; name() parentheses ke saath actually run karta hai.Recall Feynman: explain to a 12-year-old
Ek function ek vending machine jaisi hoti hai. Tum usse ek baar banate ho aur label lagate ho (def). Tum slot mein coins daalo (the arguments), machine apna hidden kaam kare, aur ek snack bahar aaye (return). Slot ke naam parameters hain. Agar return bhool gaye, toh machine tumhare coins le leti hai aur kuch nahi deti (None). Machine pe woh chhota sticker jo kehta hai "yeh chips deta hai" woh docstring hai. Machine ek baar banao, hazaar baar use karo.
Connections
- Variables and Scope — parameters aur locals function ke apne scope mein rehte hain.
- Control Flow — if statements — function bodies ke andar branching
returns ke liye use hota hai. - Lists and Tuples — multiple values return karne mein tuple packing/unpacking use hoti hai.
- Recursion — ek function jo khud ko call karta hai, seedha
def/returnpar bana. - Lambda and Higher-order Functions — anonymous one-line functions.
- DRY Principle — functions ka design motivation.