पायथन 2 और पायथन 3 में print का व्यवहार अलग है। पायथन 3 में print एक फंक्शन है (पैरेंथेसिस आवश्यक)।
पायथन 2.7 (लीगेसी)
# Python 2.7
print 27 # 27
print "Rahul" # Rahul
# पैरेंथेसिस वैकल्पिक (टपल बनाता है यदि कॉमा हो)
print(27) # 27
print("Rahul") # Rahul
print (27, 54, 81) # (27, 54, 81) - टपल प्रिंट होता है!
print ("Rahul", "Raj") # ('Rahul', 'Raj') - टपल!
पायथन 3.x (वर्तमान मानक)
# Python 3.6+
print 27 # SyntaxError: Missing parentheses
print "Rahul" # SyntaxError
# पैरेंथेसिस अनिवार्य
print(27) # 27
print("Rahul") # Rahul
# मल्टीपल आर्गुमेंट्स - स्पेस सेपरेटेड प्रिंट होते हैं
print(27, 54, 81) # 27 54 81
print("Rahul", "Raj", "Rajesh") # Rahul Raj Rajesh
# सेपरेटर कस्टमाइज़ करें
print(27, 54, 81, sep=" | ") # 27 | 54 | 81
print("A", "B", "C", sep="-") # A-B-C
# एंड कस्टमाइज़ करें
print("Hello", end=" ") # नई लाइन नहीं
print("World") # Hello World
# फाइल में प्रिंट
with open("output.txt", "w") as f:
print("फाइल में लिखा", file=f)
मल्टीपल वेरिएबल्स के लिए फॉर्मेटिंग
name = "राहुल"
age = 30
city = "दिल्ली"
# f-strings (पायथन 3.6+) - सर्वश्रेष्ठ
print(f"नाम: {name}, उम्र: {age}, शहर: {city}")
# str.format()
print("नाम: {}, उम्र: {}, शहर: {}".format(name, age, city))
print("नाम: {n}, उम्र: {a}, शहर: {c}".format(n=name, a=age, c=city))
# % फॉर्मेटिंग (पुराना)
print("नाम: %s, उम्र: %d, शहर: %s" % (name, age, city))
कॉमन पैटर्न्स
अनपैकिंग के साथ प्रिंट
values = [1, 2, 3, 4, 5] print(*values) # 1 2 3 4 5 print(*values, sep=", ") # 1, 2, 3, 4, 5
डिक्शनरी प्रिंट
data = {"name": "राहुल", "age": 30}
print(data) # {'name': 'राहुल', 'age': 30}
print(*data) # name age (केवल कीज़)
print(*data.values()) # राहुल 30
print(*data.items()) # ('name', 'राहुल') ('age', 30)
सुंदर प्रिंटिंग (pprint)
from pprint import pprint
complex_data = {
"users": [
{"name": "Alice", "scores": [90, 85, 95]},
{"name": "Bob", "scores": [78, 82, 88]}
]
}
pprint(complex_data, indent=2, width=80)
पायथन 2 से 3 माइग्रेशन टिप्स
| पायथन 2 | पायथन 3 |
|---|---|
print "hello" | print("hello") |
print x, y | print(x, y) |
print >>f, "text" | print("text", file=f) |
print(x,) (ट्रेलिंग कॉमा) | print(x, end=" ") |
2to3 टूल से ऑटोमेटिक कन्वर्जन
pip install 2to3 2to3 -w script.py # फाइल को इन-प्लेस कन्वर्ट करता है
सारांश
- पायथन 3:
print()फंक्शन है, पैरेंथेसिस अनिवार्य - मल्टीपल आर्गुमेंट्स: स्पेस से अलग होकर प्रिंट होते हैं (डिफ़ॉल्ट)
- sep पैरामीटर: सेपरेटर बदलें
- end पैरामीटर: अंत में क्या प्रिंट हो (डिफ़ॉल्ट: न्यूलाइन)
- file पैरामीटर: आउटपुट स्ट्रीम रीडायरेक्ट करें
- फॉर्मेटिंग: f-strings सर्वश्रेष्ठ, फिर
.format(), फिर%