वेरिएबल और प्रकार (Types) — प्रोग्राम कैसे याद रखता है
वेरिएबल में मान संग्रहीत करना, उनके नामकरण के नियम और चार बुनियादी प्रकार — int, float, str, bool — साथ ही वह त्रुटि जो शुरुआती लोगों को सबसे अधिक मिलती है।
- 1समस्या
- 2समझें
- 3उदाहरण
- 4अनुमान
- 5स्वयं करें
- 6चुनौती
वह समस्या जिसे हम हल कर रहे हैं
अब तक हमारे प्रोग्राम कुछ भी याद नहीं रख पाते थे। जो कुछ भी प्रिंट हुआ, वह खत्म हो गया।
वास्तविक सॉफ़्टवेयर ऐसे काम नहीं करता। एक बिलिंग प्रोग्राम में मूल्य की गणना एक बार की जाती है और उसकी आवश्यकता तीन अलग-अलग स्थानों पर होती है। किसी रिपोर्ट में कुल योग पहले निकाला जाता है और बाद में उपयोग किया जाता है। प्रोग्राम को डेटा याद रखना होता है।
इसके साथ एक दूसरी समस्या भी है: पिछले अध्याय में "2" + "3" ने 23 दिया, जबकि 2 + 3 ने 5 दिया — प्रतीक एक ही, लेकिन व्यवहार दो। ऐसा इसलिए है क्योंकि पायथन की दृष्टि में वे दोनों अलग-अलग प्रकार (Types) के हैं। प्रकार को डेटा टाइप कहा जाता है, और शुरुआती स्तर की अधिकांश त्रुटियां यहीं से आती हैं।
इस मिशन के अंत तक आप सीखेंगे
- किसी वेरिएबल में मान संग्रहीत करना और बाद में उसे बदलना
- ऐसे नाम चुनना जो पायथन स्वीकार करता है और मनुष्य आसानी से पढ़ सकते हैं
- चार बुनियादी डेटा प्रकारों को पहचानना:
int,float,str,bool type()फ़ंक्शन से किसी भी मान का प्रकार जाँचनाTypeErrorको पढ़ना और समझना कि समस्या क्या है
पूर्वापेक्षाएँ: print से देखना, टिप्पणियों से समझाना.
वेरिएबल एक नाम (लेबल) है
city_count = 4उस पंक्ति को दाएँ से बाएँ पढ़ें: मान 4 अस्तित्व में आया, और city_count नाम का लेबल उससे जुड़ गया। अब जब भी आप city_count लिखेंगे, आपको वह मान मिल जाएगा।
city_count = 4
print("Cities:", city_count)
print("Double:", city_count * 2)Cities: 4
Double: 8=का अर्थ गणितीय समानता नहीं है। पायथन में=एक निर्देश (Assignment) है: "इस मान को उस नाम के अंतर्गत सुरक्षित रखें।" यही कारण है किtotal = total + 5— जो गणित में असंभव है — पायथन में पूरी तरह से वैध है। इसका अर्थ है: "जो मानtotalमें अभी है, उसमें 5 जोड़ें और परिणाम वापसtotalमें रख दें।"
मान बदलना (Reassignment)
किसी वेरिएबल को नया मान देने पर पुराना मान मिट जाता है:
stock = 20
print("Before:", stock)
stock = stock - 3
print("After:", stock)Before: 20
After: 17चार मुख्य डेटा प्रकार
int(पूर्णांक):10,-5,0float(दशमलव संख्याएं):19.99,-0.5,3.14str(स्ट्रिंग / टेक्स्ट):"Python",'Delhi'bool(बूलियन — सत्य या असत्य):True,False
एक संपूर्ण उदाहरण
invoice.py:
# Invoice for a single order
customer_name = "Rafi"
unit_price = 249.50
quantity = 3
is_member = True
subtotal = unit_price * quantity
discount = 50.0
total = subtotal - discount
print("Customer :", customer_name)
print("Quantity :", quantity)
print("Subtotal :", subtotal)
print("Discount :", discount)
print("Total :", total)
print("Member :", is_member)Customer : Rafi
Quantity : 3
Subtotal : 748.5
Discount : 50.0
Total : 698.5
Member : Trueमूल्य बदलने के लिए आपको केवल unit_price की पंक्ति को बदलना होगा, और नीचे की प्रत्येक गणना अपने आप सही हो जाएगी।
सामान्य गलतियाँ और समाधान
NameError: name 'total' is not defined आपने जिस नाम का उपयोग किया है उसे अभी तक कोई मान नहीं दिया गया है, या वर्तनी (spelling) गलत है। पायथन केस-संवेदनशील (case-sensitive) है, इसलिए Total और total अलग-अलग नाम हैं।
TypeError: can only concatenate str (not "int") to str आपने टेक्स्ट में संख्या को सीधे जोड़ने का प्रयास किया। या तो int() से रूपांतरित करें या print("Age:", age) में कॉमा का उपयोग करें।
NameError: name 'true' is not defined पायथन में बूलियन मान बड़े अक्षर से शुरू होते हैं: True और False।
चरण 4 / 6 — अनुमान
अपनी समझ की जाँच करें
What does this print?
a = 10
b = a
a = 99
print(a, b)- A99 10
- B99 99
- C10 99
- D10 10
Which of these is a valid Python variable name?
- Aitem_2
- B2nd_item
- Citem-2
- Dclass
This program raises a TypeError. What exactly is wrong, and what fixes it?
age = "22"
next_year = age + 1
print("Next year:", next_year)- A`age` holds text, not a number — write `age = 22`, or use `int(age) + 1`
- B`next_year` was used without being declared first
- CThe `print` needs a `+` instead of a comma
- DWriting `age + "1"` instead of `age + 1` would give 23
उत्तर देने के लिए अकाउंट आवश्यक है
अपने उत्तर जाँचने के लिए साइन इन करें
प्रश्न ऊपर दिए गए हैं, और मन में उत्तर सोचना ही मुख्य कार्य है। सही उत्तर, व्याख्या और तीन-स्तरीय संकेत देखने के लिए साइन इन करें।
आपकी बारी
shipping.py नाम से एक फ़ाइल लिखें जिसमें:
- चार वेरिएबल हों — एक
int, एकfloat, एकstr, एकbool— सभी snake_case में सार्थक नामों के साथ - कम से कम एक गणना हो जो उनमें से दो का उपयोग करके तीसरा वेरिएबल बनाए
- चारों वेरिएबल के प्रकार
type()का उपयोग करके प्रिंट किए गए हों - एक वेरिएबल ऐसा हो जिसे पहले एक मान दिया जाए, फिर पुनः असाइन (reassign) किया जाए — और दोनों चरणों में मान प्रिंट किया जाए
There is more in this mission
What you read above is the complete mission — nothing was cut out of it. Pro adds:
- भीतर वास्तव में क्या होता है — पायथन इसे कैसे निष्पादित करता है
- अभ्यास का संपूर्ण समाधान, चरण-दर-चरण स्पष्टीकरण के साथ
- कठिन अतिरिक्त अभ्यास
- इस विषय पर साक्षात्कार में क्या पूछा जाता है और उसका आदर्श उत्तर
Step 6 of 6
चुनौती — the chapter quiz
सरल से कठिन — दस प्रश्न, अंतिम वाले जानबूझकर चुनौतीपूर्ण बनाए गए हैं।
Sign in to take the quiz