आउटपुट और इनपुट

दो उपकरण जिनका उपयोग आप पहली पंक्ति से करेंगे: print() टर्मिनल में मान दिखाता है, input() उपयोगकर्ता से पाठ प्राप्त करता है। वे सरल हैं, लेकिन जानना कि वे कैसे काम करते हैं, शुरुआत में कई आश्चर्य से आपको बचाता है।
Python आपके कोड को कैसे चलाता है
Python आपके कोड को ऊपर से नीचे तक, एक बार में एक पंक्ति, ठीक उसी क्रम में चलाता है जिस क्रम में आपने इसे लिखा है। कोई जम्पिंग नहीं। आप चीजें जिस क्रम में लिखते हैं वह क्रम है जिसमें वे चलती हैं। हमेशा।
city = "New Delhi"
print(city)
print("Population: 32 million")city को पहले असाइन किया जाता है। पहली print चलती है। दूसरी print चलती है। हर बार, उसी क्रम में।
यह महत्वपूर्ण है क्योंकि आप एक चर का उपयोग करने से पहले उसे असाइन नहीं कर सकते। Python ने इसे अभी तक नहीं देखा है और एक त्रुटि उठाएगा:
print(country) # NameError: country अभी तक परिभाषित नहीं है
country = "India"इसे ध्यान में रखें जब आपके प्रोग्राम बड़े हों: कोई भी चीज़ जो आप उपयोग करते हैं वह उपयोग करने से पहले परिभाषित होनी चाहिए।
NameError मिलता है। कोई आगे बढ़ना नहीं, पूरी फ़ाइल पहले पढ़ना नहीं। आउटपुट प्रिंट करना
print() है कि Python आपके साथ कैसे बात करता है। इसे कोई भी मान पास करें और यह उस मान को प्रदर्शित करता है। यह स्वचालित रूप से आपने इसे जो दिया है उसे पाठ में बदल देता है।
print("Hello") # Hello
print(42) # 42
print(3.14) # 3.14
print(True) # Trueकई मान
आप एक बार में कई मान प्रिंट कर सकते हैं उन्हें commas से अलग करके। Python डिफ़ॉल्ट रूप से उनके बीच एक स्पेस डालता है। विभाजक को sep के साथ बदलें:
name = "राज"
age = 28
print(name, age) # राज 28
print("Name:", name) # Name: राज
print("2024", "01", "15", sep="-") # 2024-01-15
print("a", "b", "c", sep=", ") # a, b, cline ending को नियंत्रित करना
प्रत्येक print() call डिफ़ॉल्ट रूप से एक newline के साथ समाप्त होता है, इसलिए अगला आउटपुट एक ताज़ी पंक्ति पर शुरू होता है। end के साथ इसे बदलें। end="" को सेट करने से अगली print same line पर जारी रहती है:
print("Loading", end="")
print("...")
# Loading...
print("one", end=" | ")
print("two", end=" | ")
print("three")
# one | two | threeprint() जो कुछ भी आप इसे देते हैं उसे पाठ में बदलता है और दिखाता है। commas से अलग कई चीजें पास करें और आपको उनके बीच एक स्पेस मिलता है, sep के साथ बदलें। हर print अंत में एक नई पंक्ति पर गिरती है; end="" अगले को same line पर रखता है। f-strings के साथ आउटपुट को format करना
मैसेज बनाने का सबसे साफ तरीका f-strings है। opening quote से पहले f रखें, फिर किसी भी चर या expression को curly braces में लपेटें। Python runtime पर इसे भरता है। आप {} के अंदर कोई भी मान, calculation, या method call रख सकते हैं।
name = "राज"
score = 980
# concatenation: clunky, requires str() for numbers
print("Player: " + name + ", Score: " + str(score))
# f-string: readable, no manual conversion
print(f"Player: {name}, Score: {score}")आप {} के अंदर कोई भी expression रख सकते हैं: arithmetic, method calls (जैसे .upper(), Strings chapter में पूरी तरह covered), format specs:
price = 49.99
tax = 0.2
total = price * (1 + tax)
print(f"Total: {total:.2f}") # Total: 59.99
print(f"Name: {name.upper()}") # Name: राज
print(f"2 + 2 = {2 + 2}") # 2 + 2 = 4: के बाद format spec नियंत्रित करता है कि मान कैसे प्रदर्शित होता है:
ratio = 0.8765
count = 1234567
label = "revenue"
print(f"{ratio:.1%}") # 87.6%
print(f"{count:,}") # 1,234,567
print(f"{label:>12}") # " revenue":.2f का मतलब है "two decimal places"। आप इसका उपयोग लगातार prices और measurements के लिए करेंगे। बाकी सब कुछ तब है जब आपको इसकी आवश्यकता है। मुख्य बात: कुछ भी {} के अंदर जा सकता है, केवल चर नाम नहीं।
:.2f दो decimal places के लिए। `+` के साथ strings को glue करने की तुलना में कितना अधिक साफ। उपयोगकर्ता से इनपुट प्राप्त करना
input() आपके प्रोग्राम को pause करता है और उपयोगकर्ता को कुछ type करने के लिए wait करता है। जो भी वे type करते हैं (और Enter दबाते हैं) return value के रूप में आता है। parentheses में string वह prompt है जो उपयोगकर्ता देखता है।
name = input("What's your name? ")
print(f"Hello, {name}!")input() हमेशा एक string लौटाता है, चाहे उपयोगकर्ता कुछ भी type करे। 42 type करें और आपको "42" मिलता है, संख्या 42 नहीं। इसके साथ arithmetic करने के लिए, explicitly convert करें:
age = int(input("How old are you? "))
print(f"In ten years you'll be {age + 10}.")क्या होगा अगर उपयोगकर्ता कुछ type करे जिसे convert नहीं किया जा सकता? Python एक ValueError उठाता है। इसे properly handle करना Files और exceptions chapter में covered है।
input() आपका prompt दिखाता है, एक line के लिए wait करता है, और हमेशा इसे string के रूप में देता है, भले ही उन्होंने एक संख्या type की हो। संख्या की ज़रूरत है? इसे खुद convert करें int() या float() के साथ जब यह आती है, फिर सही type के साथ जारी रखें। व्यवहार में
एक quiz जो user input से खुद को personalize करती है:
name = input("What's your name? ")
subject = input("Which subject? ")
print(f"Okay, {name}. Starting your {subject} quiz.")
print("Good luck!")दोनों inputs strings के रूप में आते हैं और f-strings में सीधे जाते हैं। कोई conversion की ज़रूरत नहीं है क्योंकि आप उन्हें पाठ के रूप में use कर रहे हैं, संख्याओं के रूप में नहीं।

