الانتقال إلى المحتوى
Foxipa

أداة

مُصرِّف بايثون عبر الإنترنت

اكتب كود بايثون واضغط «تشغيل» لترى النتيجة فورًا — بايثون 3 حقيقي يعمل في متصفحك، مع دعم input() وإمكانية تثبيت الحزم. بدون إعداد وبدون حساب.

جاهز للتشغيل
المخرجات

الناتج

سيظهر ناتج البرنامج هنا عند الضغط على «تشغيل».

إدخال البرنامج (stdin)

اكتب كود بايثون في المحرر أعلاه، اضغط تشغيل، واقرأ الناتج تحته. هذا في جوهره مُفسِّر CPython 3 حقيقي مُصرَّف إلى WebAssembly يعمل على جهازك — وليس وحدة طرفية زائفة، ولا خادمًا في مكان ما يستقبل كودك. التشغيل الأول يُنزِّل المُفسِّر (نحو 10 ميغابايت)، ثم يبقى جاهزًا: كل تشغيل بعدها يبدأ فورًا.

كيف تشغِّل بايثون هنا

المسار قصير عمدًا. اكتب برنامجك أو الصقه في المحرر. اضغط تشغيل، أو Ctrl/Cmd + Enter من داخل الكود. ما يطبعه print() يظهر في لوحة الناتج، وكل ما يكتبه بايثون إلى stderr — بما في ذلك الأثر الكامل للأخطاء — يظهر بالأحمر مع أرقام الأسطر التي وقع فيها الخطأ فعلًا. كل تشغيل يبدأ بحالة مُفسِّر نظيفة، فلا تتسرب المتغيرات والاستيرادات من تشغيل سابق إلى التالي.

إذا استغرق برنامج وقتًا أطول مما أردت (حلقة لا نهائية بالخطأ مثلًا) اضغط إيقاف. الإيقاف يُلغي المُفسِّر الحالي — والتشغيل التالي يبني واحدًا جديدًا، ولهذا أيضًا لا يمكن لبرنامج انهار أن يفسد ما بعده.

قراءة الإدخال بـ input()

معظم مشغِّلات بايثون على الإنترنت تتعطل بصمت عند input(). هذه ليست كذلك: افتح إدخال البرنامج (stdin) أسفل لوحة الناتج وضع سطرًا واحدًا لكل استدعاء input(). عند تشغيل مثال قراءة الإدخال بكلمتَي Alex و 3 في صندوق الإدخال تحصل على حوار حقيقي:

What is your name? Alex
How many years have you coded? 3
Nice to meet you, Alex!
In another 3 years you will have coded for 6 years.

عندما تنفد أسطر صندوق الإدخال، ترفع الاستدعاءات التالية لـ input() خطأ EOFError، تمامًا كما عند تمرير ملف قصير إلى python3 في سطر الأوامر. هذا السلوك يجعل التدرب على التمارين الكلاسيكية — أسئلة الاسم والعمر، قوائم الاختيار، معالجة قوائم الأرقام — ممكنًا دون التظاهر بالكتابة في وحدة طرفية جامدة.

تثبيت الحزم

حقل الحزم يستقبل قائمة مفصولة بفواصل. الأسماء المضمَّنة في توزيعة Pyodide (numpy وpandas وغيرها كثير) تُحمَّل مباشرة من السجل المدمج؛ وكل ما هو حزمة بايثون نقية يُثبَّت عبر micropip المدمج. اكتب numpy واضغط تشغيل: المرة الأولى تستغرق وقتًا أطول قليلًا أثناء تنزيل الحزمة، ثم تبقى في الذاكرة لبقية الجلسة.

حدان صريحان: الحزم الأصلية التي تحتاج امتدادات مُصرَّفة خارج بناء Pyodide (بعض مشغِّلات قواعد البيانات مثلًا) لا يمكن تثبيتها، وتُعاد جلب الحزم بعد إعادة تحميل الصفحة لأن لا شيء يُخزَّن على خادم. لكل ما عدا ذلك — التدرب على عمليات pandas، تجربة itertools، اختبار تصميم صنف صغير — إنه بايثون الذي تعرفه.

كودك يبقى على جهازك

البرنامج الذي تكتبه يُنفَّذ بمتصفحك ويُحفَظ فقط في التخزين المحلي للمتصفح، فإغلاق التبويب والعودة لاحقًا يستعيد آخر نسخة. زر المشاركة يحزم الكود الحالي (مع الإدخال والحزم) داخل الرابط نفسه — جزء الـ URL الذي بعد # لا يُرسَل أبدًا إلى أي خادم، ومن تشاركه الرابط يرى ما كتبته بالضبط. وإن لم ترغب في الاحتفاظ بأي شيء، فـ إعادة التعيين تعيد المحرر إلى المثال الافتتاحي وتمسح المحفوظ. لا حساب، ولا سجل عندنا، ولا شيء تحذفه لاحقًا.

الملفات والتنزيل والاستيراد

ثلاثة أزرار تغطي الذهاب والإياب. فتح ملف يحمّل ملف .py من حاسوبك مباشرة إلى المحرر. تنزيل يحفظ الكود الحالي باسم main.py بترميز UTF-8 صحيح. نسخ يضع الكود في الحافظة لتلصقه في تمرين أو gist أو بريد. مع روابط المشاركة، يمكنك نقل برنامج عامل بين الأجهزة دون لمس أي خادم ملفات.

أي بايثون هذا بالضبط؟

المحرك هو Pyodide — CPython مُصرَّف إلى WebAssembly — والشارة في شريط الحالة تعرض إصدارَي بايثون وPyodide بالضبط بعد تحميل المحرك. دلالات اللغة هي التي تعرفها: المكتبة القياسية نفسها، والاستثناءات نفسها، وكل شيء كما هو، مع تكييف زوايا نظام الملفات الخاصة بنظام التشغيل لتلائم بيئة المتصفح فقط. إن كنت تتابع منهج بايثون، فكل أمثلة الدروس تعمل هنا دون تعديل — بُنيا معًا ليتطابقا.

أسئلة متكررة

هل يمكنني تشغيل بايثون 3 هنا؟ نعم — هذه بايثون 3، وليست نسخة شبيهة. الصياغة وf-strings وdataclasses والمكتبة القياسية تعمل كما هو موثق.

هل يُرفَع كودي إلى أي مكان؟ لا. التنفيذ يجري في متصفحك عبر WebAssembly. الكود يُحفَظ محليًا ولا يُشارَك إلا عبر روابط تنشئها بنفسك.

هل يعمل دون اتصال؟ بعد تحميل المُفسِّر يمكنك قطع الاتصال ومواصلة تشغيل الكود. تحميل الصفحة من جديد يحتاج الشبكة مرة واحدة لإعادة جلب المحرك.

هل يعمل على الهاتف؟ نعم. المحرر وصندوق الإدخال والناتج تصفّ عموديًا على الشاشات الصغيرة، ونص الوحدة الطرفية يتبع إعدادات خط النظام.

لماذا التشغيل الأول أبطأ؟ ذلك هو التنزيل الوحيد للمُفسِّر. كل تشغيل بعده يتخطاه تمامًا.