Python में संख्याएँ, पाठ, संग्रह और अधिक को कवर करने वाले बिल्ट-इन प्रकारों का एक समृद्ध सेट है। उन्हें जानना — और कौन से म्यूटेबल बनाम इम्यूटेबल हैं — यह मौलिक है।
संख्यात्मक प्रकार
x =
y =
z = +
b =
नोट: Python int में मनमाने सटीकता है — यह कभी ओवरफ्लो नहीं होता (C/Java में निश्चित आकार के ints के विपरीत); 2 ** 1000 बस काम करता है।
s = "hello" # str — Unicode text (immutable)
data = b"bytes" # bytes — raw binary (immutable)
lst = [1, 2, 3] # list — ordered, MUTABLE, allows duplicates
tup = (1, 2, 3) # tuple — ordered, IMMUTABLE
d = {"a": 1, "b": 2} # dict — key→value, mutable, insertion-ordered
s = {1, 2, 3} # set — unordered, unique elements, mutable
fs = frozenset({1, 2}) # frozenset — immutable set
result = None # NoneType — represents "no value" (like null)
if result is None: # always compare to None with `is`, not ==
...
type(x) # <class 'int'>
isinstance(x, int) # True — the preferred check (handles subclasses)
Immutable: int, float, bool, str, tuple, frozenset, bytes, None
Mutable: list, dict, set, bytearray
यह अंतर बहुत महत्वपूर्ण है — इम्यूटेबल वस्तुएँ dict कुंजियाँ हो सकती हैं और साझा करने के लिए सुरक्षित हैं; म्यूटेबल वस्तुएँ अप्रत्याशित रूप से बदल सकती हैं यदि उन्हें alias किया जाता है।
बिल्ट-इन प्रकार सभी Python कोड की शब्दावली हैं।
प्रत्येक एक के उद्देश्य को जानना (क्रमबद्ध अनुक्रम के लिए list, कुंजी-मान के लिए dict, विशिष्टता के लिए set, निश्चित रिकॉर्ड के लिए tuple), मनमानी-सटीकता पूर्णांक, और विशेष रूप से म्यूटेबल-बनाम-इम्यूटेबल विभाजन (जो dict कुंजियों, aliasing बग्स और जो सुरक्षित रूप से साझा किया जा सकता है को नियंत्रित करता है) यह आधारभूत है।
काम के लिए सही प्रकार चुनना — और इसकी म्यूटेबिलिटी को समझना — एक मूल Python कौशल है जो पूरे प्रोग्राम में सटीकता और प्रदर्शन को प्रभावित करता है।