0Pricing
Mojo Academy · درس

البنى مقابل فئات Python

لماذا تتميز البنى بالثبات والسرعة

البنى مقابل فئات Python درس مجاني في Mojo Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Mojo Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Mojo Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

They Look Similar

A Mojo struct and a Python class both bundle data with methods, so they feel familiar. But under the hood they are quite different. 🔍

Structs Are Static

A struct's layout is fixed at compile time. The compiler knows every field and type ahead, so it generates tight, fast code.

Classes Are Dynamic

Python classes are dynamic: you can add attributes at runtime. That flexibility is convenient but costs lookups and speed.

No Surprise Attributes

In a struct you cannot tack on a new field after definition. Mojo rejects it, which catches typos and keeps the layout honest.

Value vs Reference

Structs are value types, so assigning copies them. Python objects are references, so two names can point to the same object.

Predictable Copies

Because structs copy on assignment, changing one instance never silently mutates another. That removes a whole class of aliasing bugs.

Speed Is the Payoff

Static layout and value semantics let Mojo skip runtime overhead. The result is performance close to C for your custom types.

No Inheritance, Yet

Structs do not use class-style inheritance. Instead Mojo shares behavior through traits, which you will explore later in the path.

Typed Fields Required

Every struct field needs a declared type, while Python attributes are untyped by default. Types are what let Mojo optimize so aggressively.

var x: Int

When to Use Each

Reach for a struct when you want speed and a fixed shape. Keep Python classes when you need runtime flexibility from existing libraries.

Same Syntax, Different Engine

The takeaway: structs borrow Python's friendly syntax but run on a static, compiled engine. You write familiar code that goes fast.

struct Point:
    var x: Int
    var y: Int

Quick Check

Let us compare structs and Python classes.

Recap

Structs trade Python's runtime flexibility for a static, value-based design that runs fast. You now know when each one shines. 🎯

الأسئلة الشائعة

هل درس «البنى مقابل فئات Python» مجاني؟

نعم — نص درس «البنى مقابل فئات Python» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Mojo Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Mojo Academy 4 دروس في المجموع.

ماذا ستتعلم في «البنى مقابل فئات Python»؟

لماذا تتميز البنى بالثبات والسرعة تتمرن على Mojo Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Mojo Academy؟

لا تُشترط خبرة سابقة. Mojo Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «البنى مقابل فئات Python»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Mojo Academy هذا؟

نعم. كل درس في Mojo Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف بنية struct
  2. الحقول ودالة __init__
  3. إضافة دوال إلى بنية
  4. البنى مقابل فئات Python
← العودة إلى Mojo Academy