मॉड्यूल क्या है? import और from
मॉड्यूल एक .py फ़ाइल है जिसके फ़ंक्शन और वेरिएबल दोबारा इस्तेमाल होते हैं। Python की मानक लाइब्रेरी में कई मॉड्यूल हैं (math, random, statistics, datetime…)।
import math→math.sqrt(25)।import math as m→m.sqrt(25)।from math import sqrt, pi→ सीधेsqrt(25),pi।from math import *→ सारे नाम (आपके नामों से टकरा सकते हैं; बचें)।
help(math) या dir(math) मॉड्यूल की सामग्री दिखाते हैं।
math मॉड्यूल
| फ़ंक्शन | उदाहरण → परिणाम |
|---|---|
| sqrt(x) | math.sqrt(49) → 7.0 |
| pow(x, y) | math.pow(2, 5) → 32.0 (हमेशा float) |
| ceil(x) | math.ceil(4.1) → 5; ceil(-4.1) → -4 |
| floor(x) | math.floor(4.9) → 4; floor(-4.1) → -5 |
| fabs(x) | math.fabs(-3) → 3.0 |
| factorial(n) | math.factorial(5) → 120 |
| gcd(a, b) | math.gcd(12, 18) → 6 |
| log(x, base), log10(x) | math.log10(1000) → 3.0 |
| sin(x), cos(x), tan(x) | x रेडियन में: math.sin(math.pi/2) → 1.0 |
| pi, e | 3.14159…, 2.71828… |
random मॉड्यूल
random.random()→ 0 ≤ x < 1 वाला float।random.randint(a, b)→ a से b तक पूर्णांक, दोनों शामिल।random.randrange(start, stop, step)→ range(start, stop, step) में से पूर्णांक, stop शामिल नहीं। randrange(10) → 0 से 9।
10 और 20 के बीच float: 10 + random.random() * 10। हर बार चलाने पर आउटपुट बदलता है।
statistics मॉड्यूल
statistics.mean(data)→ औसत (योग ÷ संख्या)।statistics.median(data)→ क्रम में लगाकर बीच का मान; सम संख्या हो तो बीच के दोनों का औसत।statistics.mode(data)→ सबसे ज़्यादा बार आने वाला मान।
import statistics as st d = [3, 5, 5, 2, 7] print(st.mean(d), st.median(d), st.mode(d)) # 4.4 5 5
बोर्ड परीक्षा पर ध्यान
आम प्रश्न: math फ़ंक्शन (ceil, floor, sqrt, pow) का आउटपुट, random कथन के संभावित आउटपुट (2 अंक का पसंदीदा प्रश्न), import बनाम from, और छोटी लिस्ट का mean/median/mode।
मुख्य सूत्र और परिभाषाएँ
- import m → m.f() · from m import f → f()
- ceil ↑, floor ↓; pow और sqrt float देते हैं
- randint(a, b): a..b शामिल; randrange(a, b): b शामिल नहीं
- random() → 0 ≤ x < 1
- mean = योग/n; median = बीच का; mode = सबसे ज़्यादा बार
हल किए गए उदाहरण
1. आउटपुट? import math; print(math.ceil(2.3), math.floor(-2.3), math.sqrt(81), math.pow(3, 2))
3 -3 9.0 9.0
2. print(random.randint(3, 5)) इनमें से क्या दिखा सकता है? 2, 3, 4, 5, 6
3, 4 या 5 (दोनों सिरे शामिल)।
3. random.randrange(1, 10, 3) के संभावित आउटपुट?
range(1, 10, 3) = 1, 4, 7; इनमें से कोई एक।
4. 10 और 20 (दोनों शामिल) के बीच यादृच्छिक सम संख्या का कथन लिखें।
random.randrange(10, 21, 2) → 10, 12, 14, 16, 18 या 20।
5. d = [4, 8, 6, 8, 2, 9]। mean, median, mode निकालें।
mean = 37/6 ≈ 6.17। क्रम [2, 4, 6, 8, 8, 9] → median = (6 + 8)/2 = 7.0। mode = 8।
6. त्रुटि ठीक करें: from math import sqrt; print(math.sqrt(4))
from-import में math नाम परिभाषित नहीं। sqrt(4) लिखें, या import math लें।
7. math मॉड्यूल से 7 त्रिज्या वाले वृत्त का क्षेत्रफल निकालें।
import math r = 7 print(math.pi * r ** 2) # 153.938…
आम गलतियाँ
- import math के बाद math.sqrt() की जगह केवल sqrt() लिखना।
- सोचना कि randint(1, 6) कभी 6 नहीं देगा। दोनों सिरे शामिल हैं।
- सोचना कि randrange(1, 6) 6 दे सकता है। stop शामिल नहीं।
- math.pow(2, 3) से 8 की उम्मीद। यह 8.0 (float) देता है।