1.2.27 · D3 · HinglishIntroduction to Programming (Python)

Worked examplesFunctions — def, parameters, return, docstrings

2,943 words13 min read↑ Read in English

1.2.27 · D3 · Coding › Introduction to Programming (Python) › Functions — def, parameters, return, docstrings


The scenario matrix

Ek function ko sirf itne hi fundamentally alag tareekon se pakda ja sakta hai. Neeche har "cell" hai — har distinct behaviour class jo is topic mein chhupa hua hai. Baad ke examples mein se har ek us cell se tagged hai jo woh cover karta hai, taaki milke koi gap na rahe.

Cell Kya isse alag banata hai Example jo isse cover karta hai
A. Basic value return ek input, ek clean returned value Ex 1
B. No return body run hoti hai, lekin kuch wapas nahi aata → None Ex 2
C. print vs return confusion screen pe same dikhta hai, behave alag karta hai Ex 2
D. Multiple return values tuple packing / unpacking Ex 3
E. Default parameter used / overridden argument omit kiya vs supply kiya Ex 4
F. Keyword args reorder names position ko beat karte hain Ex 4
G. Degenerate / edge input zero, empty, boundary values Ex 5
H. Early return (branching exit) return if ke andar, baad ka code skip Ex 6
I. Mutable default trap shared-list bug Ex 7
J. Real-world word problem ek story ko function mein translate karna Ex 8
K. Exam-style twist ek tricky call trace karo, exact output predict karo Ex 9

Arguments ke teen "flavours" (positional / keyword / default) cells E aur F mein hain; branching logic Control Flow — if statements se lete hain; tuple return Lists and Tuples se lete hain; poori motivation DRY Principle hai.


Ex 1 — Cell A: the plain machine


Ex 2 — Cells B & C: print is not return


Ex 3 — Cell D: ek saath do cheezein return karna


Ex 4 — Cells E & F: defaults aur keyword reordering


Ex 5 — Cell G: degenerate aur boundary inputs


Ex 6 — Cell H: early return baaki sab skip kar deta hai


Ex 7 — Cell I: the mutable default trap


Ex 8 — Cell J: real-world word problem


Ex 9 — Cell K: the exam twist (exactly trace karo)


Recall Jawab chhupao — kya har cell yaad raha?

Basic return square(6)? ::: 36 z = show_square(6) phir print(z) kya print karta hai? ::: 36 phir None divmod2(17, 5) q, r = deta hai? ::: q = 3, r = 2 power(exp=3, base=2)? ::: 8 Unguarded version mein average([]) kya karta hai? ::: ZeroDivisionError raise karta hai Buggy shared default ke saath add_item(1) phir add_item(2) kya print karta hai? ::: [1] phir [1, 2] share_per_person(800, 4) (10% default tip)? ::: 220.0 f(3, 3) jahan f a-b return karta hai agar a>b warna b-a? ::: 0

Connections

  • Parent topic — the anatomy — yeh page uska "every scenario" workshop hai.
  • Control Flow — if statements — Ex 5, 6, 9 mein branching returns ko power karta hai.
  • Lists and Tuples — Ex 3 ke multiple return ke peeche tuple packing/unpacking.
  • Variables and Scope — Ex 7 mein mutable-default list ek single call se zyada kyun jeeti hai.
  • Lambda and Higher-order Functions — same input→output idea, ek line mein likha.
  • Recursion — ek function khud ko call karta hai, yahan trace kiye gaye usi return pe build.
  • DRY Principle — reason kyun upar ke har example ko function mein wrap karna worth tha.

Scenario Map

path A

path B

Call a function

Has a return

No return

One value

Tuple of values

Returns None

Edge input

Early return

Default arg