يحتوي Python على مجموعة غنية من الأنواع المدمجة تغطي الأرقام والنصوص والمجموعات والمزيد. معرفتها - وأي منها قابل للتغيير مقابل غير قابل للتغيير - أمر أساسي.
أنواع رقمية
x =
y =
z = +
b =
ملاحظة: int في Python يتمتع بـ دقة عشوائية - لا يتجاوز أبدًا (بخلاف الأعداد الصحيحة ذات الحجم الثابت في C/Java)؛ 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 وآمنة للمشاركة؛ الكائنات القابلة للتغيير يمكن أن تتغير بشكل غير متوقع إذا تم تجميعها.
الأنواع المدمجة هي مفردات جميع أكواد Python.
معرفة كل نوع بغرضه (list للتسلسلات المرتبة، dict للمفتاح والقيمة، set للفرادة، tuple للسجلات الثابتة)، والأعداد الصحيحة ذات الدقة العشوائية، والأهم الانقسام بين القابل للتغيير وغير القابل للتغيير (الذي يحكم مفاتيح dict وأخطاء التجميع وما يمكن مشاركته بأمان) أمر أساسي.
اختيار النوع المناسب للعمل - وفهم قابليته للتغيير - هي مهارة Python أساسية تؤثر على الصحة والأداء في جميع أنحاء البرنامج.