بايثون (لغة برمجة)

بايثون هي لغة برمجة عالية المستوى ومتعددة الأغراض ، تركز على سهولة قراءة الكود وبساطته وكتابته، وذلك باستخدام المسافات البادئة الكبيرة [ 38 ] ومكتبة قياسية شاملة ("مُضمنة") ، بالإضافة إلى خاصية جمع البيانات المهملة . تدعم بايثون نماذج برمجة متعددة ، مع التركيز على البرمجة كائنية التوجه والكتابة الديناميكية .

بدأ غيدو فان روسوم العمل على لغة بايثون في أواخر ثمانينيات القرن الماضي كخليفة للغة البرمجة ABC  . وكانت بايثون 3.0، التي صدرت عام 2008، بمثابة مراجعة شاملة، ولم تكن متوافقة تمامًا مع الإصدارات السابقة. ابتداءً من بايثون 3.5، [ 39 ] أُضيفت إمكانيات وكلمات مفتاحية للكتابة إلى اللغة، مما أتاح الكتابة الثابتة الاختيارية . [ 40 ] اعتبارًا من عام 2026تدعم مؤسسة برمجيات بايثون إصدارات بايثون 3.10، و3.11، و3.12، و3.13، و3.14، وفقًا لدورة الإصدار السنوية للمشروع وسياسة الدعم لمدة خمس سنوات. وتخضع بايثون 3.15 حاليًا لمرحلة التطوير التجريبي، ومن المتوقع إطلاق الإصدار المستقر في أكتوبر 2026. [ 41 ] وقد وصلت الإصدارات السابقة من سلسلة 3.x إلى نهاية عمرها الافتراضي، ولم تعد تتلقى تحديثات أمنية.

تُدرّس لغة بايثون على نطاق واسع كلغة برمجة تمهيدية. [ 42 ]

تاريخ

مصمم لغة بايثون، غيدو فان روسوم ، في مؤتمر بايثون الولايات المتحدة 2024

تم ابتكار لغة بايثون في أواخر ثمانينيات القرن العشرين [ 11 ] على يد غيدو فان روسوم في مركز الرياضيات والمعلوماتية (CWI) في هولندا . [ 43 ] صُممت لتكون خليفةً للغة البرمجة ABC ، المستوحاة من SETL ، [ 44 ] والقادرة على معالجة الاستثناءات والتفاعل مع نظام التشغيل Amoeba . [ 18 ] بدأ تطوير بايثون في ديسمبر  1989. [ 43 ] أصدر فان روسوم النسخة الأولى منها عام 1991 باسم بايثون  0.9.0. [ 43 ] تولى فان روسوم المسؤولية الكاملة عن المشروع، بصفته المطور الرئيسي، حتى 12 يوليو 2018، حين أعلن "إجازته الدائمة" من مسؤولياته كـ" الحاكم المستبد مدى الحياة " (BDFL) في بايثون؛ وقد منحه مجتمع بايثون هذا اللقب تقديرًا لالتزامه طويل الأمد كصاحب القرار الرئيسي في المشروع. [ 45 ] [ ج ] في يناير  2019، انتخب مطورو بايثون الأساسيون النشطون مجلس توجيهي مكونًا من خمسة أعضاء لقيادة المشروع. [ 46 ] [ 47 ]

اسم بايثون مشتق من المسلسل الكوميدي البريطاني مونتي بايثون سيركس الطائر . [ 48 ] (انظر §  التسمية .)

صدرت لغة بايثون 2.0 في 16 أكتوبر 2000، وتضمنت العديد من الميزات الجديدة مثل فهم القوائم ، وجمع البيانات المهملة للكشف عن الحلقات ، وحساب المراجع ، ودعم يونيكود . [ 49 ] كان من المقرر في البداية أن ينتهي دعم بايثون 2.7 في عام 2015، ثم تم تأجيله إلى عام 2020 بسبب مخاوف من صعوبة نقل جزء كبير من التعليمات البرمجية الحالية إلى بايثون  3. [ 50 ] [ 51 ] لم تعد تتلقى أي تحديثات أو تصحيحات أمنية. [ 52 ] [ 53 ] على الرغم من أن بايثون 2.7 والإصدارات الأقدم غير مدعومة رسميًا، إلا أن تطبيق بايثون غير الرسمي PyPy لا يزال يدعم بايثون 2، أي "2.7.18+" (بالإضافة إلى 3.11 )، حيث تشير علامة الجمع (+) إلى "بعض" التحديثات الأمنية المُضافة . [ 54 ]

 صدرت لغة بايثون 3.0 في 3 ديسمبر 2008، وكانت بمثابة مراجعة رئيسية، ولم تكن متوافقة تمامًا مع الإصدارات السابقة، حيث تضمنت بعض الدلالات الجديدة وتغييرات في بناء الجملة. أما بايثون  2.7.18، التي صدرت عام 2020، فكانت آخر إصدار من بايثون  2. [ 55 ] وقد أضافت عدة إصدارات من سلسلة بايثون 3.x بناء جملة جديدًا إلى اللغة، وأجرت بعض التغييرات (التي تُعتبر طفيفة جدًا) غير المتوافقة مع الإصدارات السابقة.

اعتبارًا من مايو 2026يُعدّ Python 3.14.6 أحدث إصدار مستقر. وقد تلقّت جميع الإصدارات الأقدم من سلسلة 3.x تحديثًا أمنيًا حتى Python 3.9.24، ثم تحديثًا آخر مع 3.9.25، وهو الإصدار الأخير في سلسلة 3.9. ومنذ نوفمبر 2025، يُعدّ Python 3.10 أقدم فرع مدعوم. [ 56 ] يتوفر إصدار تجريبي (ألفا) من Python 3.15، كما يتوفر لنظام Android ملف تنفيذي رسمي قابل للتنزيل لـ Python 3.14. تتلقى الإصدارات سنتين من الدعم الكامل، تليها ثلاث سنوات من الدعم الأمني.

فلسفة التصميم وميزاته

لغة بايثون هي لغة برمجة متعددة الأنماط . تدعم بايثون البرمجة الكائنية والبرمجة الهيكلية بشكل كامل، كما تدعم العديد من ميزاتها البرمجة الوظيفية والبرمجة الموجهة نحو الجوانب ، بما في ذلك البرمجة الوصفية [ 57 ] والكائنات الوصفية [ 58 ] . وتدعم بايثون العديد من الأنماط الأخرى عبر الإضافات، بما في ذلك التصميم التعاقدي [ 59 ] [ 60 ] والبرمجة المنطقية [ 61 ] . غالبًا ما يُشار إلى بايثون باسم "لغة الربط" [ 62 ] لأنها مصممة خصيصًا لدمج المكونات المكتوبة بلغات أخرى.

تستخدم لغة بايثون الكتابة الديناميكية ومزيجًا من عد المراجع وجامع القمامة الذي يكشف عن الحلقات لإدارة الذاكرة . [ 63 ] كما تستخدم حل الأسماء الديناميكي ( الربط المتأخر )، الذي يربط أسماء الطرق والمتغيرات أثناء تنفيذ البرنامج.

يُوفر تصميم بايثون بعض الدعم للبرمجة الوظيفية على غرار لغة ليسب . فهو يحتوي على دوال مثل `int` و`int` و`int`، بالإضافة filterإلى mapتراكيب القوائم والقواميس والمجموعات وتعبيرات المولدات . [ 64 ] تحتوي المكتبة القياسية على وحدتين (` int` و`int` ) تُنفذان أدوات وظيفية مُستعارة من لغتي هاسكل وستاندرد إم إل . [ 65 ]reduceitertoolsfunctools

تتلخص فلسفة بايثون الأساسية في كتاب Zen of Python (PEP 20) الذي كتبه تيم بيترز ، والذي يتضمن أمثالًا مثل هذه: [ 66 ]

  • الصراحة أفضل من التلميح.
  • البساطة أفضل من التعقيد.
  • سهولة القراءة مهمة.
  • الحالات الخاصة ليست خاصة بما يكفي لخرق القواعد.
  • على الرغم من أن العملية تتفوق على المثالية، إلا أنه لا ينبغي أبداً التغاضي عن الأخطاء، إلا إذا تم إسكاتها بشكل صريح.
  • ينبغي أن تكون هناك طريقة واحدة واضحة للقيام بذلك، ويفضل أن تكون طريقة واحدة فقط.

مع ذلك، وُجّهت انتقادات للغة بايثون لمخالفتها هذه المبادئ وإضافة حشو غير ضروري. [ 67 ] وتشير الردود على هذه الانتقادات إلى أن فلسفة بايثون هي بمثابة دليل إرشادي وليست قاعدة جامدة. [ 68 ] وقد أثارت إضافة بعض الميزات الجديدة جدلاً واسعاً: فقد استقال غيدو فان روسوم من منصبه كـ "ديكتاتور مدى الحياة" بعد خلاف حول إضافة عامل تعبير التعيين في بايثون 3.8. [ 69 ] [ 70 ]

مع ذلك، وبدلاً من دمج جميع الوظائف في جوهرها، صُممت لغة بايثون لتكون قابلة للتوسيع بدرجة كبيرة من خلال الوحدات النمطية. وقد جعلتها هذه البنية المعيارية المدمجة شائعةً بشكل خاص كوسيلة لإضافة واجهات قابلة للبرمجة إلى التطبيقات الحالية. انبثقت رؤية فان روسوم للغة ذات نواة صغيرة ومكتبة قياسية كبيرة ومفسر سهل التوسيع من إحباطه من لغة ABC، التي مثلت نهجًا معاكسًا. [ 11 ]

تدّعي لغة بايثون أنها تسعى إلى تبسيط بناء الجملة والقواعد، مع منح المطورين حرية اختيار منهجية البرمجة. تفتقر بايثون إلى do .. whileالحلقات التكرارية ، التي اعتبرها روسوم ضارة. [ 71 ] على عكس شعار بيرل " هناك أكثر من طريقة لفعل ذلك "، تدعو بايثون إلى نهج "يجب أن تكون هناك طريقة واحدة - ويفضل أن تكون واحدة فقط - واضحة لفعل ذلك". [ 66 ] مع ذلك، عمليًا، توفر بايثون طرقًا عديدة لتحقيق هدف معين. هناك ثلاث طرق على الأقل لتنسيق سلسلة نصية حرفية، دون وجود يقين بشأن الطريقة التي يجب على المبرمج استخدامها. [ 72 ] أليكس مارتيلي زميل في مؤسسة برمجيات بايثون ومؤلف كتب عن بايثون؛ كتب أن "وصف شيء ما بأنه 'ذكي' لا يُعتبر مدحًا في ثقافة بايثون" . [ 73 ]

يُعطي مطورو بايثون عادةً الأولوية لسهولة القراءة على حساب الأداء. فعلى سبيل المثال، يرفضون التعديلات على الأجزاء غير الأساسية من تطبيق CPython المرجعي التي من شأنها تحسين السرعة دون أن تُبرر التضحية بالوضوح وسهولة القراءة. [ 74 ] يمكن تحسين سرعة التنفيذ بنقل الدوال الحساسة للسرعة إلى وحدات إضافية مكتوبة بلغات مثل C ، أو باستخدام مُصرّف فوري مثل PyPy . كما يُمكن تحويل الكود إلى لغات أخرى. مع ذلك، إما أن تفشل هذه الطريقة في تحقيق التحسين المتوقع في السرعة، نظرًا لأن بايثون لغة ديناميكية للغاية ، أو يتم تجميع جزء محدود فقط من بايثون (مع احتمالية حدوث تغييرات دلالية طفيفة). [ 75 ]

صُممت لغة بايثون لتكون لغة ممتعة للاستخدام. [ 76 ] : 3 ويتجلى هذا الهدف في اسمها - تكريمًا لفرقة مونتي بايثون الكوميدية البريطانية [ 77 ] - وفي الأساليب المرحة المتبعة في بعض الدروس التعليمية والمواد المرجعية. على سبيل المثال، تستخدم بعض أمثلة الشفرة مصطلحي "spam" و"eggs" (في إشارة إلى مشهد كوميدي من مونتي بايثون )، بدلًا من المصطلحين الشائعين "foo" و"bar" . [ 76 ] [ 78 ]

من المصطلحات الجديدة الشائعة في مجتمع بايثون مصطلح "بايثوني" ، والذي يحمل نطاقًا واسعًا من المعاني المتعلقة بأسلوب البرمجة: قد يستخدم الكود البايثوني مصطلحات بايثون بشكل جيد؛ أو يكون طبيعيًا أو يُظهر طلاقة في اللغة؛ أو يتوافق مع فلسفة بايثون البسيطة وتركيزها على سهولة القراءة. [ 79 ]

مقترحات التحسين

مقترحات تحسين بايثون [ ملاحظة 1 ] هي وثيقة تصميمية تُستخدم إما لتوفير معلومات لمجتمع بايثون ، أو لاقتراح ميزات جديدة في بايثون. [ 80 ] تهدف مقترحات تحسين بايثون إلى شرح العمليات الجديدة في بايثون، أو توفير اصطلاحات التسمية ، أو توثيق العمليات في اللغة. [ 81 ] يشرف مجلس توجيه بايثون على مقترحات تحسين بايثون. [ 81 ]

توجد ثلاثة أنواع من مقترحات تحسين الأداء (PEPs)، وهي: مقترحات تحسين الأداء الخاصة بمسار المعايير [ ملاحظة 2 ] ، ومقترحات تحسين الأداء المعلوماتية [ ملاحظة 3 ] ، ومقترحات تحسين الأداء الخاصة بالعمليات [ ملاحظة 4 ] ، ولكل منها دلالاتها الخاصة. [ 80 ] [ 82 ] وقد طُرحت هذه المقترحات لأول مرة عام 2000، مستوحاةً من طلبات التعليقات (RfCs) ومقترحات تحسين التصميم. [ 82 ] ومن أشهر مقترحات تحسين الأداء: PEP - 1، وPEP - 8، و PEP - 20 ، وPEP - 257، وغيرها. [ 82 ]    

بناء الجملة والدلالات

صُممت لغة بايثون لتكون سهلة القراءة. يتميز تنسيقها بالوضوح البصري، وغالبًا ما تستخدم الكلمات المفتاحية الإنجليزية في حين تستخدم لغات أخرى علامات الترقيم. على عكس العديد من اللغات الأخرى، لا تستخدم بايثون الأقواس المعقوفة لفصل الكتل، كما يُسمح باستخدام الفواصل المنقوطة بعد العبارات، ولكن نادرًا ما تُستخدم. تحتوي بايثون على استثناءات نحوية وحالات خاصة أقل من لغتي C أو باسكال . [ 83 ]

المسافة البادئة

تستخدم لغة بايثون المسافة البادئة ، بدلاً من الأقواس المعقوفة أو الكلمات المفتاحية، لفصل الكتل البرمجية . تزداد المسافة البادئة بعد عبارات معينة، بينما يشير انخفاضها إلى نهاية الكتلة الحالية. [ 84 ] وبالتالي، يعكس الهيكل المرئي للبرنامج هيكله الدلالي بدقة. [ 85 ] تُعرف هذه الخاصية أحيانًا بقاعدة التجاوز . تستخدم بعض اللغات الأخرى المسافة البادئة بهذه الطريقة، ولكن في معظمها، لا تحمل المسافة البادئة أي معنى دلالي. يُوصى باستخدام أربع مسافات كمسافة بادئة. [ 86 ]

البيانات وتدفق التحكم

تتضمن عبارات بايثون ما يلي:

  • عبارة التخصيص ، باستخدام علامة يساوي واحدة=
  • العبارة ifالتي تنفذ بشكل مشروط كتلة من التعليمات البرمجية، بالإضافة إلى else( elifاختصار لـ else if)
  • العبارة for، التي تتكرر على كائن قابل للتكرار ، وتلتقط كل عنصر في متغير لاستخدامه بواسطة الكتلة المرفقة؛ لا يتم حذف المتغير عند انتهاء الحلقة.
  • العبارة whileالتي تنفذ كتلة من التعليمات البرمجية طالما أن الشرط المنطقي صحيح
  • تسمح هذه tryالعبارة بالتقاط ومعالجة الاستثناءات التي تحدث في كتلة التعليمات البرمجية المرفقة بها بواسطة exceptعبارات (أو صيغة جديدة except*في بايثون 3.11 لمجموعات الاستثناءات)؛ [ 87 ] كما تضمن هذه tryالعبارة تشغيل تعليمات التنظيف في finallyالكتلة دائمًا بغض النظر عن كيفية خروج الكتلة.
  • العبارة raiseالمستخدمة لرفع استثناء محدد أو إعادة رفع استثناء تم التقاطه
  • العبارة classالتي تنفذ كتلة من التعليمات البرمجية وتربط مساحة اسمها المحلية بفئة ، لاستخدامها في البرمجة الكائنية التوجه
  • العبارة defالتي تحدد دالة أو طريقة
  • تُتيح هذه withالعبارة، التي تُحيط بكتلة برمجية داخل مدير سياق، سلوكًا مشابهًا لسلوك تهيئة الموارد (RAII) وتحل محل عبارة try/finally الشائعة [ 88 ]. ومن أمثلة السياق الحصول على قفل قبل تشغيل بعض التعليمات البرمجية، ثم تحرير القفل؛ أو فتح ملف ثم إغلاقه.
  • العبارة breakالتي تخرج من حلقة تكرارية
  • يتجاهل البيان continueبقية التكرار الحالي ويستمر مع التكرار التالي
  • العبارة delالتي تزيل متغيرًا - حذف المرجع من الاسم إلى القيمة، وإنتاج خطأ إذا تمت الإشارة إلى المتغير قبل إعادة تعريفه [ د ]
  • العبارة pass، التي تعمل كعبارة NOP (أي لا عملية)، مطلوبة نحويًا لإنشاء كتلة برمجية فارغة
  • العبارة assertالمستخدمة في تصحيح الأخطاء للتحقق من الشروط التي ينبغي تطبيقها
  • العبارة yieldالتي تُعيد قيمة من دالة مولدة (وأيضًا عامل تشغيل)؛ تُستخدم لتنفيذ الروتينات الفرعية
  • العبارة returnالمستخدمة لإرجاع قيمة من دالة
  • تُستخدم عبارات import`and` fromلاستيراد الوحدات التي يمكن استخدام وظائفها أو متغيراتها في البرنامج الحالي. يُضيف بايثون 3.15 وظيفة جديدة للاستيراد الكسول باستخدام كلمة مفتاحية جديدة: " lazyتعمل الكلمة المفتاحية مع عبارات import`and` from ... import." [ 89 ]
  • تُشبه عبارات " و match" بنية عبارة "التبديل" ، التي تقارن تعبيرًا بحالة واحدة أو أكثر كمقياس لتدفق التحكم.case

تربط عبارة التخصيص ( =) اسمًا كمرجع لكائن منفصل مُخصص ديناميكيًا . ويمكن إعادة ربط المتغيرات لاحقًا بأي كائن في أي وقت. في بايثون، اسم المتغير هو مُؤشر عام بدون نوع بيانات ثابت ؛ ومع ذلك، فإنه يشير دائمًا إلى كائن ما بنوع مُحدد. يُسمى هذا النوع بالكتابة الديناميكية ، على عكس اللغات ذات الكتابة الثابتة ، حيث لا يمكن أن يحتوي كل متغير إلا على قيمة من نوع مُعين.

لا تدعم لغة بايثون تحسين استدعاءات الذيل أو الاستمراريات من الدرجة الأولى ؛ ووفقًا لفان روسوم، لن تدعمها اللغة أبدًا. [ 90 ] [ 91 ] مع ذلك، يُوفر توسيع مولدات بايثون دعمًا أفضل لوظائف شبيهة بالروتينات الفرعية . [ 92 ] قبل الإصدار 2.5، كانت المولدات عبارة عن مُكرِّرات كسولة ؛ حيث كانت البيانات تُمرَّر في اتجاه واحد خارج المولد. بدءًا من بايثون 2.5، أصبح من الممكن إعادة تمرير البيانات إلى دالة المولد؛ ومن الإصدار 3.3، يُمكن تمرير البيانات عبر مستويات متعددة من مكدس الاستدعاءات. [ 93 ] 

تعابير الوجه

تتضمن تعابير بايثون ما يلي:

  • تتشابه معاملات الجمع والطرح والضرب في لغة بايثون مع مثيلاتها في لغات البرمجة الأخرى، لكن سلوك القسمة يختلف. يوجد نوعان من القسمة في بايثون: +القسمة الصحيحة (أو القسمة على أساس عدد صحيح) ، والقسمة على أساس عدد عشري . [ 94 ] تستخدم بايثون -المعامل للأس.*///**
  • تستخدم لغة بايثون +عامل الربط لدمج السلاسل النصية. كما تستخدم *عامل التكرار لتكرار سلسلة نصية عددًا محددًا من المرات.
  • يُقصد استخدام عامل infix بواسطة مكتبات @مثل NumPy لضرب المصفوفات . [ 95 ] [ 96 ]
  • يُطلق على هذا التركيب :=اسم "تم تقديم عامل الفظ ", في بايثون 3.8. يقوم هذا العامل بتعيين قيم للمتغيرات كجزء من تعبير أكبر. [ 97 ]
  • في لغة بايثون، ==تُقارن هذه العملية كائنين بالقيمة. isيمكن استخدام عامل المقارنة في بايثون لمقارنة هويات الكائنات (أي المقارنة بالمرجع)، ويمكن ربط عمليات المقارنة ببعضها البعض - على سبيل المثال، .a<=b<=c
  • يستخدم بايثون and، orو و notكمعاملات منطقية.
  • تحتوي لغة بايثون على نوع من التعبيرات يسمى فهم القوائم ، وتعبير أكثر عمومية يسمى تعبير المولد . [ 64 ]
  • يتم تنفيذ الدوال المجهولة باستخدام تعبيرات لامدا ؛ ومع ذلك، قد يكون هناك تعبير واحد فقط في كل جسم.
  • تُكتب التعبيرات الشرطية على النحو التالي : . [ 98 ] (يختلف هذا في ترتيب المعاملات عن المعامل الشائع في العديد من اللغات الأخرى.)xifcelseyc ? x : y
  • يُفرّق بايثون بين القوائم والصفوف . تُكتب القوائم على النحو التالي: `lists` ، وهي قابلة للتغيير، ولا يُمكن استخدامها كمفاتيح للقواميس (لأن مفاتيح القواميس في بايثون يجب أن تكون ثابتة ). أما الصفوف، فتُكتب على النحو التالي: `tuples`، وهي ثابتة، وبالتالي يُمكن استخدامها كمفاتيح للقواميس، بشرط أن تكون جميع عناصر الصف ثابتة. يُمكن استخدام عامل الربط `contable` لدمج صفين، وهو ما لا يُعدّل محتوياتهما مباشرةً، بل يُنتج صفًا جديدًا يحتوي على عناصر كليهما. على سبيل المثال، إذا كانت قيمة المتغير `tuples` في البداية تساوي `x` ، فإن تنفيذ ` contable` يُقيّم أولًا `x` ، ما يُنتج `x` ؛ ثم تُسند هذه النتيجة إلى `x`، وبالتالي يتم "تعديل محتويات" `x` مع الالتزام بطبيعة الصفوف الثابتة. الأقواس اختيارية في سياقات الصفوف الواضحة. [ 99 ][1,2,3](1,2,3)+t(1,2,3)t=t+(4,5)t+(4,5)(1,2,3,4,5)tt
  • تتميز لغة بايثون بخاصية فك التسلسل ، حيث يتم ربط عدة تعابير، يُقيّم كل منها إلى قيمة قابلة للتخصيص (مثل متغير أو خاصية قابلة للكتابة)، تمامًا كما هو الحال في تكوين مجموعة حرفية. تُوضع النتائج مجتمعةً على الجانب الأيسر من علامة المساواة في عبارة التخصيص. تتوقع هذه العبارة أن يُنتج الكائن القابل للتكرار على الجانب الأيمن من علامة المساواة نفس عدد القيم التي تُنتجها التعابير القابلة للكتابة على الجانب الأيسر. أثناء التكرار، تُخصص العبارة كل قيمة من القيم المُنتجة على اليمين إلى التعبير المقابل لها على اليسار. [ 100 ]
  • يحتوي بايثون على مُعامل "تنسيق السلسلة" %الذي يعمل بشكل مشابه printfلتنسيق السلاسل في لغة C، على سبيل المثال، يُقيّم إلى . في بايثون 2.6 والإصدارات الأحدث، 3 والإصدارات الأحدث، أُضيف إلى هذا المُعامل طريقة من الفئة، على سبيل المثال، . أضاف بايثون 3.6 "سلاسل f": . [ 101 ]"spam=%s eggs=%d"%("blah",2)"spam=blah eggs=2" format()str"spam={0} eggs={1}".format("blah",2) spam="blah";eggs=2;f'spam={spam} eggs={eggs}'
  • يمكن دمج السلاسل النصية في بايثون عن طريق "جمعها" (باستخدام نفس عامل الجمع المستخدم للأعداد الصحيحة والعشرية)؛ على سبيل المثال، تُرجع . إذا احتوت السلاسل النصية على أرقام، فسيتم دمجها كسلاسل نصية بدلاً من أعداد صحيحة، على سبيل المثال، تُرجع ."spam"+"eggs""spameggs""2"+"2""22"
  • يدعم بايثون القيم النصية الحرفية بعدة طرق:
    • تُفصل النصوص بعلامات اقتباس مفردة أو مزدوجة؛ وتؤدي علامات الاقتباس المفردة والمزدوجة وظائف متطابقة (على عكس ما هو الحال في أنظمة يونكس ، ولغة بيرل ، واللغات المتأثرة بها). تستخدم كلتا العلامتين الشرطة المائلة العكسية ( \\) كحرف هروب . أصبح استيفاء السلاسل النصية متاحًا في بايثون  3.6 تحت مسمى "سلاسل نصية منسقة". [ 101 ]
    • مُقتبس ثلاثيًا، أي يبدأ وينتهي بثلاث علامات اقتباس مفردة أو مزدوجة؛ قد يمتد هذا على عدة أسطر ويعمل مثل المستندات هنا في shells و Perl و Ruby .
    • أنواع السلاسل الخام ، والتي يُشار إليها بإضافة بادئة r. لا تُفسَّر تسلسلات الهروب؛ لذا فإن السلاسل الخام مفيدة حيثما تكثر الشرطات المائلة العكسية، كما هو الحال في التعبيرات النمطية ومسارات نمط ويندوز . (قارن بـ " @-quoting" في لغة C# ).
  • تحتوي لغة بايثون على تعابير فهرسة المصفوفات وتقطيعها في القوائم، والتي تُكتب على النحو التالي: `[]` a[key]أو ` []`. تبدأ الفهارس من الصفر ، والفهارس السالبة نسبية إلى النهاية. تأخذ الشرائح العناصر من فهرس البداية حتى فهرس النهاية ، ولكن لا تشمله. يسمح المعامل الثالث (الاختياري) `slice` ، والذي يُسمى `step` أو `stride` ، بتخطي العناصر أو عكس ترتيبها. يمكن حذف فهارس الشرائح - على سبيل المثال، تُعيد `[]` نسخة من القائمة بأكملها. كل عنصر من عناصر الشريحة هو نسخة سطحية .a[start:stop]a[start:stop:step]a[:]

في لغة بايثون، يُفرض تمييز صارم بين التعبيرات والعبارات، على عكس لغات مثل كومون ليسب ، وسكيم ، وروبي . ويؤدي هذا التمييز إلى تكرار بعض الوظائف، على سبيل المثال:

  • فهم القوائم مقابل forالحلقات
  • التعبيرات الشرطية مقابل ifالكتل
  • الدوال المدمجة (في بايثون 2، تُعتبر عبارةً)؛ الدالة الأولى مخصصة للتعبيرات، بينما الدالة الثانية مخصصة للعبارات eval().exec() exec

لا يمكن أن تكون العبارة جزءًا من تعبير؛ ولهذا السبب، dictلا يمكن أن تحتوي التعبيرات مثل القوائم والعبارات المترابطة (وتعبيرات لامدا) على عبارات. وعلى وجه الخصوص، لا يمكن أن تكون عبارة إسناد جزءًا من التعبير الشرطي لعبارة شرطية.a=1

الكتابة

التسلسل الهرمي القياسي للأنواع في بايثون  3

تستخدم لغة بايثون نظام الكتابة الديناميكية ، حيث تحتوي على كائنات مُحددة النوع، بينما أسماء المتغيرات غير مُحددة النوع. لا يتم التحقق من قيود النوع عند تعريف الكائن؛ بل قد تفشل العمليات على الكائن عند استخدامه، مما يشير إلى أن الكائن ليس من النوع المناسب. على الرغم من كونها لغة كتابة ديناميكية ، إلا أن بايثون لغة كتابة صارمة ، حيث تمنع العمليات غير المُحددة جيدًا (مثل جمع عدد وسلسلة نصية) بدلاً من محاولة تفسيرها تلقائيًا.

تتيح لغة بايثون للمبرمجين تعريف أنواعهم الخاصة باستخدام الأصناف ، وغالبًا ما يكون ذلك في البرمجة كائنية التوجه . يتم إنشاء نسخ جديدة من الأصناف عن طريق استدعاء الصنف، على سبيل المثال، أو )؛ وتُعد هذه الأصناف نسخًا من الصنف الفوقي (وهو نسخة من نفسه)، مما يسمح بالبرمجة الفوقية والانعكاس .SpamClass()EggsClass()type

قبل الإصدار 3.0، كان لدى بايثون نوعان من الفئات، وكلاهما يستخدم نفس الصيغة: الصيغة القديمة والصيغة الجديدة . [ 102 ] تدعم إصدارات بايثون الحالية دلالات الصيغة الجديدة فقط.

يدعم بايثون التعليقات التوضيحية الاختيارية للأنواع . [ 5 ] [ 103 ] لا تفرض اللغة هذه التعليقات، ولكن يمكن استخدامها بواسطة أدوات خارجية مثل mypy لاكتشاف الأخطاء. يتضمن بايثون وحدةً typingتحتوي على عدة أسماء أنواع للتعليقات التوضيحية للأنواع. [ 104 ] [ 105 ] كما يدعم mypy مُصرّف بايثون يُسمى mypyc، والذي يستفيد من التعليقات التوضيحية للأنواع لتحسين الأداء. [ 106 ]

ملخص لأنواع البيانات المضمنة في بايثون 3
يكتبالتحوليةوصفأمثلة على بناء الجملة
boolغير قابل للتغييرقيمة منطقيةTrueFalse
bytearrayمتقلبسلسلة من البايتاتbytearray(b'Some ASCII')bytearray(b"Some ASCII")bytearray([119,105,107,105])
bytesغير قابل للتغييرسلسلة من البايتاتb'Some ASCII'b"Some ASCII"bytes([119,105,107,105])
complexغير قابل للتغييرعدد مركب ذو أجزاء حقيقية وتخيلية3+2.7j3+2.7j5j
dictمتقلبمصفوفة ترابطية (أو قاموس) من أزواج المفاتيح والقيم؛ يمكن أن تحتوي على أنواع مختلطة (مفاتيح وقيم)؛ يجب أن تكون المفاتيح من نوع قابل للتجزئة{'key1':1.0,3:False}{}
types.EllipsisTypeغير قابل للتغييرعنصر نائب للحذف يُستخدم كمؤشر في مصفوفات NumPy...Ellipsis
floatغير قابل للتغييرعدد الفاصلة العائمة ذو الدقة المزدوجة 64 بت ( رقم IEEE 754 بدقة 53 بت، في جميع الإصدارات المدعومة منذ CPython 3.11؛ [ 107 ] عمليًا أيضًا في الإصدار 3.10 والإصدارات الأقدم ، مع أن الدقة تعتمد تقنيًا على الجهاز [ 108 ] ) . يدعم نوع البيانات المدمج في بايثون كلاً من الأعداد العشرية المزدوجة 64 بت والأعداد العشرية ذات الدقة 32 بت، كما تدعم مكتبة بايثون القياسية الأعداد العشرية النصفية 16 بت. قد تدعم حزم بايثون مثل NumPy وPandas أيضًا الأعداد العشرية ذات الدقة 32 بت أو أكثر، على سبيل المثال ؛ مع أن دعم الأعداد العشرية النصفية غالبًا ما يكون غير مكتمل أو غير موجود في معظم الحزم. [ 109 ] يدعم عدد قليل من الحزم نوع bfloat ذي الدقة 16 بت . [ 110 ] memoryviewstructnumpy.half

تدعم معظم تطبيقات بايثون النوع المزدوج (double)، لكن بعض التطبيقات غير الشائعة (مجموعة فرعية)، مثل MicroPython للبرمجة المدمجة ، تدعم الأعداد العشرية IEEE ذات 32 بت كقيمة افتراضية. يمكن للمستخدمين اختيار 64 بت عن طريق ضبط MICROPY_FLOAT_IMPL إلى MICROPY_FLOAT_IMPL_DOUBLE.

1.33333

frozensetغير قابل للتغييرمجموعة غير مرتبة ، لا تحتوي على عناصر مكررة؛ يمكن أن تحتوي على أنواع مختلطة، إذا كانت قابلة للتجزئةfrozenset({4.0,'string',True})

frozenset()

intغير قابل للتغييرعدد صحيح ذو قيمة غير محدودة [ 111 ] (أي لا يستخدم أعداد الآلة الصحيحة؛ على سبيل المثال، تستخدم حزمة بايثون NumPy أعدادًا صحيحة ذات حجم ثابت لزيادة السرعة (وتسمح بأحجام مختلفة)، مثل الأنواع numpy.byteو numpy.ulonglong، جميع هذه الأنواع لديها إمكانية الالتفاف، على الرغم من أنها أقل احتمالًا كلما زاد حجمها)42
listمتقلبالقائمة ، يمكن أن تحتوي على أنواع مختلطة[4.0,'string',True][]
types.NoneTypeغير قابل للتغييركائن يمثل غياب قيمة، ويُطلق عليه غالبًا اسم null في لغات أخرىNone
types.NotImplementedTypeغير قابل للتغييرعنصر نائب يمكن إرجاعه من عوامل التشغيل المحملة بشكل زائد للإشارة إلى أنواع المعاملات غير المدعومةNotImplemented
rangeغير قابل للتغييرسلسلة أرقام غير قابلة للتغيير ، تستخدم عادة للتكرار عددًا محددًا من المرات في forالحلقات [ 112 ]range(1,10)range(10,5,2)
setمتقلبمجموعة غير مرتبة ، لا تحتوي على عناصر مكررة؛ يمكن أن تحتوي على أنواع مختلطة، إذا كانت قابلة للتجزئة{4.0,'string',True}set()
strغير قابل للتغييرسلسلة الأحرف : تسلسل من رموز يونيكود'Wikipedia'"Wikipedia"
"""يمتد على عدة أسطر"""
tupleغير قابل للتغييريمكن أن تحتوي المجموعة على أنواع مختلطة(4.0,'string',True)('single element',)()

العمليات الحسابية

تتضمن لغة بايثون رموزًا تقليدية للمعاملات الحسابية ( +القسمة، القسمة، -القسمة الصحيحة)، ومعامل باقي القسمة . (مع معامل باقي القسمة، يمكن أن يكون الباقي سالبًا، على سبيل المثال، 0.5 ). كما توفر بايثون رمز الأس ، على سبيل المثال ، و ، بالإضافة إلى معامل ضرب المصفوفات . [ 113 ] تعمل هذه المعاملات كما في الرياضيات التقليدية؛ وبنفس قواعد الأسبقية ، يمكن أن تكون المعاملات الوسطية و أحادية أيضًا ، لتمثيل الأعداد الموجبة والسالبة على التوالي.*///%4 % -3 == -2**5**3 == 1259**0.5 == 3.0@+-

ينتج عن قسمة الأعداد الصحيحة نتائج ذات فاصلة عائمة. وقد تغير سلوك القسمة بشكل ملحوظ بمرور الوقت: [ 114 ]

  • لقد غيّر الإصدار الحالي من بايثون (أي منذ الإصدار 3.0) المعامل /ليمثل دائمًا قسمة الفاصلة العائمة، على سبيل المثال، .5/2==2.5
  • //تم تقديم عامل القسمة الصحيحة ، مما يعني أن 7//3 == 2و -7//3 == -3و 7.5//3 == 2.0و و -7.5//3 == -3.0. بالنسبة لـ Python 2.7، تسمح إضافة العبارة لوحدة في Python 2.7 باستخدام قواعد القسمة الخاصة بـ Python 3.x (انظر أعلاه).from__future__importdivision

في لغة بايثون، /يُمثل المعامل القسمة الحقيقية (أو ببساطة القسمة )، بينما //يُمثل المعامل القسمة الصحيحة. قبل الإصدار 3.0، /كان المعامل يُمثل القسمة التقليدية . [ 114 ]

يُضفي التقريب نحو سالب ما لا نهاية، رغم اختلافه عن معظم لغات البرمجة، مزيدًا من الاتساق على لغة بايثون. فعلى سبيل المثال، يُشير هذا التقريب إلى أن المعادلة صحيحة دائمًا. كما يُشير إلى أن المعادلة صالحة لكل من القيم الموجبة والسالبة لـ . وكما هو متوقع، تقع نتيجة المعادلة في الفترة نصف المفتوحة [0, b )، حيث عدد صحيح موجب؛ ومع ذلك، يتطلب الحفاظ على صحة المعادلة أن تقع النتيجة في الفترة ( b , 0) عندما تكون سالبة. [ 115 ](a+b)//b==a//b+1b*(a//b)+a%b==aaa%bbb

توفر لغة بايثون roundدالةً لتقريب عدد عشري إلى أقرب عدد صحيح. في حالة التعادل  ، تستخدم بايثون 3 طريقة التقريب إلى عدد زوجي : و round(1.5). [ 116 ] أما إصدارات بايثون السابقة للإصدار 3 فكانت تستخدم طريقة التقريب بعيدًا عن الصفر : و . [ 117 ]round(2.5)2round(0.5)1.0round(-0.5)−1.0

تسمح لغة بايثون للتعبيرات المنطقية التي تحتوي على علاقات مساواة متعددة بأن تكون متوافقة مع الاستخدام العام في الرياضيات. على سبيل المثال، a < b < cيختبر التعبير ما إذا aكان أصغر من bو bأصغر من c. [ 118 ] تفسر اللغات المشتقة من لغة سي هذا التعبير بشكل مختلف: في لغة سي، يُقيّم التعبير أولاً a < b، مما ينتج عنه 0 أو 1، ثم تُقارن هذه النتيجة مع c. [ 119 ]

تستخدم لغة بايثون حسابات ذات دقة اختيارية لجميع عمليات الأعداد الصحيحة. يوفر Decimalالنوع/الصنف في الوحدة النمطية أعدادًا عشرية عائمة بدقة اختيارية محددة مسبقًا مع عدة أنماط تقريب. [ 120 ] يوفر الصنف في الوحدة النمطية دقة اختيارية للأعداد النسبية . [ 121 ]decimalFractionfractions

بفضل مكتبة الرياضيات الواسعة في لغة بايثون ومكتبة NumPy الخارجية ، تُستخدم هذه اللغة بكثرة في كتابة البرامج العلمية في مهام مثل معالجة البيانات الرقمية والتلاعب بها. [ 122 ] [ 123 ]

بناء جملة الدالة

تُنشأ الدوال في بايثون باستخدام الكلمة defالمفتاحية `function`. تُعرَّف الدالة بنفس طريقة استدعائها، وذلك بتحديد اسم الدالة أولًا ثم المعاملات المطلوبة. إليك مثال على دالة تطبع مدخلاتها:

دالة الطباعة ( المدخل 1 ، المدخل 2 = "موجود بالفعل" ): طباعة ( المدخل 1 ) طباعة ( المدخل 2 )طابعة ( "مرحبا" )مثال على المخرجات: مرحباً موجود بالفعل

لتعيين قيمة افتراضية لمعامل الدالة في حالة عدم توفير قيمة فعلية في وقت التشغيل، يمكن استخدام صيغة تعريف المتغيرات داخل رأس الدالة.

أمثلة على التعليمات البرمجية

برنامج "مرحباً بالعالم!" :

print ( 'Hello, World!' )

برنامج لحساب مضروب عدد صحيح غير سالب:

text = input ( 'أدخل رقمًا، وسيتم طباعة مضروبه: ' )n = int ( text )إذا كان n < 0 :raise ValueError ( 'يجب عليك إدخال عدد صحيح غير سالب' )المضروب = 1for i in range ( 2 , n + 1 ):مضروب العدد *= iاطبع ( المضروب )

المكتبات

تُعدّ مكتبة بايثون القياسية الضخمة [ 124 ] من أبرز نقاط قوتها. بالنسبة للتطبيقات المتصلة بالإنترنت، تدعم اللغة العديد من التنسيقات والبروتوكولات القياسية مثل MIME و HTTP . كما تتضمن وحدات لإنشاء واجهات مستخدم رسومية ، والاتصال بقواعد البيانات العلائقية ، وتوليد أرقام شبه عشوائية ، وإجراء العمليات الحسابية بدقة عشرية غير محدودة [ 120 ] ، ومعالجة التعابير النمطية ، واختبار الوحدات .

تُغطى بعض أجزاء المكتبة القياسية بمواصفات محددة، فعلى سبيل المثال، يتبع تطبيق واجهة بوابة خادم الويب (WSGI) معيار PEP 333 [ 125 ] ، بينما تُحدد معظم الأجزاء الأخرى من خلال شيفرتها البرمجية، ووثائقها الداخلية، ومجموعات اختبارها . ومع ذلك، ولأن معظم المكتبة القياسية عبارة عن شيفرة بايثون متعددة المنصات، فلا يلزم سوى تعديل أو إعادة كتابة عدد قليل من الوحدات البرمجية لتطبيقات مختلفة.wsgiref

اعتبارًا من 13 مارس 2025  ،يحتوي فهرس حزم بايثون (PyPI)، وهو المستودع الرسمي لبرامج بايثون التابعة لجهات خارجية، على أكثر من 614339 [ 126 ] حزمة.

بيئات التطوير

تتضمن معظم تطبيقات بايثون (بما في ذلك CPython) حلقة قراءة-تقييم-طباعة (REPL)؛ وهذا يسمح للبيئة بالعمل كمفسر سطر أوامر ، حيث يُدخل المستخدمون العبارات بالتسلسل ويتلقون النتائج فورًا. [ 127 ]

كما أن CPython يأتي مع بيئة تطوير متكاملة (IDE) تسمى IDLE ، [ 128 ] وهي موجهة للمبتدئين.

تُضيف بيئات الأوامر الأخرى، بما في ذلك IDLE و IPython ، إمكانيات إضافية مثل الإكمال التلقائي المُحسّن، والاحتفاظ بحالة الجلسة، وتمييز بناء الجملة . [ 128 ] [ 129 ]

تتضمن بيئات التطوير المتكاملة القياسية لأجهزة سطح المكتب PyCharm و Spyder و Visual Studio Code ؛ [ 130 ] وهناك بيئات تطوير متكاملة قائمة على متصفح الويب ، مثل البيئات التالية:

التطبيقات

التنفيذ المرجعي

CPython هو التطبيق المرجعي للغة بايثون. كُتب هذا التطبيق بلغة C، وهو متوافق مع معيار C11 [ 134 ] منذ الإصدار 3.11. تستخدم الإصدارات الأقدم معيار C89 مع بعض ميزات C99 المختارة ، ولكن إضافات الجهات الخارجية لا تقتصر على إصدارات C القديمة، إذ يمكن تنفيذها باستخدام C11 أو C++. [ 135 ] [ 136 ] يقوم CPython بتجميع برامج بايثون إلى بايت كود وسيط ، [ 137 ] والذي يُنفذ بعد ذلك بواسطة آلة افتراضية . [ 138 ] يُوزع CPython مع مكتبة قياسية كبيرة مكتوبة بمزيج من لغة C وبايثون الأصلية.

يتوفر CPython للعديد من المنصات، بما في ذلك ويندوز ومعظم أنظمة يونكس الحديثة ، بما في ذلك macOS (وأجهزة ماك Apple M1  ، منذ إصدار بايثون 3.9.1، باستخدام مُثبِّت تجريبي). بدءًا من بايثون  3.9، يفشل مُثبِّت بايثون عمدًا في التثبيت على ويندوز 7 و8 ؛ [ 139 ] [ 140 ] كان ويندوز XP مدعومًا حتى بايثون  3.5. تدعم إصدارات بايثون القديمة أنظمة VMS بشكل غير رسمي (تدعم في الغالب [ 141 ]ويدعم OpenVMS x86-64 بايثون 3.10. [ 142 ] [ 143 ] كانت قابلية نقل المنصة من أوائل أولويات بايثون. [ 144 ] خلال تطوير بايثون  1 و2، تم دعم حتى OS/2 وسولاريس ؛ [ 8 ] ومنذ ذلك الحين، تم إسقاط الدعم للعديد من المنصات.

تدعم جميع إصدارات بايثون الحالية (منذ الإصدار 3.7) أنظمة التشغيل التي تتميز بتعدد الخيوط فقط ، حيث تدعم الآن عددًا أقل بكثير من أنظمة التشغيل (مع إسقاط العديد من الأنظمة القديمة) مقارنة بالماضي.

قيود التنفيذ المرجعي

  • يُعد استهلاك الطاقة في لغة بايثون مع CPython للبرامج المكتوبة بشكل نموذجي أسوأ بكثير من لغة C بمعامل 75.88. [ 145 ]
  • إن إنتاجية بايثون مع CPython للتعليمات البرمجية المكتوبة بشكل نموذجي أسوأ من C بمعامل 71.9. [ 145 ]
  • يُعد متوسط ​​استخدام الذاكرة لـ CPython بالنسبة للتعليمات البرمجية المكتوبة بشكل نموذجي أسوأ من C بمعامل 2.4. [ 145 ]

تطبيقات أخرى

تختلف جميع التطبيقات البديلة في دلالاتها، ولو بشكل طفيف. فعلى سبيل المثال، قد يتضمن أحد البدائل قواميس غير مرتبة ، على عكس إصدارات بايثون الحالية الأخرى. وكمثال آخر في بيئة بايثون الأوسع، لا يدعم PyPy واجهة برمجة تطبيقات بايثون C بالكامل.

غالبًا ما يتم إنشاء ملف تنفيذي باستخدام بايثون عن طريق تضمين مترجم بايثون كاملًا في الملف التنفيذي، مما يؤدي إلى أحجام ملفات تنفيذية ضخمة للبرامج الصغيرة، [ 146 ] ومع ذلك، توجد تطبيقات قادرة على تجميع بايثون فعليًا. تشمل التطبيقات البديلة ما يلي:

التطبيقات غير المدعومة

يُعدّ Stackless Python نسخةً مُطوّرةً من CPython تُطبّق تقنية الخيوط الدقيقة . يستخدم هذا التطبيق مكدس الاستدعاءات بطريقةٍ مختلفة، مما يسمح بتشغيل برامج متزامنة بشكلٍ كبير. كما يُقدّم PyPy نسخةً خاليةً من المكدس. [ 160 ]

تم تطوير مترجمات بايثون في الوقت المناسب، ولكنها الآن غير مدعومة:

  • بدأت جوجل مشروعًا باسم Unladen Swallow في عام 2009: يهدف هذا المشروع إلى تسريع مترجم بايثون خمسة أضعاف باستخدام LLVM ، وتحسين قدرة تعدد الخيوط للتوسع إلى آلاف النوى، [ 161 ] بينما تقتصر التطبيقات النموذجية على قفل المترجم العالمي .
  • Psyco هو مُترجم مُخصّص يعمل في الوقت الفعلي ، وقد توقف تطويره، وهو مُدمج مع CPython ويُحوّل الشفرة البايتية إلى شفرة الآلة أثناء التشغيل. الشفرة الناتجة مُخصّصة لأنواع بيانات مُحدّدة ، وهي أسرع من شفرة بايثون القياسية. لا يدعم Psyco بايثون 2.7 أو الإصدارات الأحدث. 
  • كان PyS60  مترجمًا للغة بايثون 2 خاصًا بهواتف سلسلة 60 المحمولة، وقد أصدرته نوكيا عام 2005. نفّذ المترجم العديد من الوحدات النمطية من مكتبة بايثون القياسية، بالإضافة إلى وحدات نمطية إضافية للتكامل مع نظام التشغيل سيمبيان . يدعم هاتف نوكيا N900 أيضًا لغة بايثون من خلال مكتبة GTK للأدوات، مما يسمح بكتابة البرامج وتشغيلها على الجهاز المستهدف. [ 162 ]

برامج تحويل إلى لغات أخرى

توجد العديد من المترجمات/ المحولات للغات الكائنات عالية المستوى؛ لغة المصدر هي بايثون غير المقيدة، أو مجموعة فرعية من بايثون، أو لغة مشابهة لبايثون:

  • يقوم كل من Brython [ 163 ] و Transcrypt [ 164 ] [ 165 ] بتحويل Python إلى JavaScript .
  • يقوم Cython بتحويل مجموعة فرعية من لغة Python إلى لغة C. ويمكن استخدام الكود الناتج مع Python من خلال استدعاءات API مباشرة على مستوى C في مترجم Python.
  • تقوم مكتبة PyJL بتحويل جزء من لغة بايثون إلى "شفرة مصدرية عالية الأداء وسهلة القراءة والصيانة بلغة جوليا". [ 75 ] على الرغم من ادعاءات المطورين بشأن الأداء، إلا أن هذا غير ممكن مع أي شفرة بايثون؛ أي أن التحويل إلى لغة أسرع أو إلى شفرة الآلة أمر غير ممكن في الحالة العامة. قد تتغير دلالات بايثون، ولكن في كثير من الحالات، يمكن تحقيق تسريع مع تغييرات طفيفة أو معدومة في شفرة بايثون. بعد ذلك، يمكن استخدام شفرة مصدر جوليا الأسرع من بايثون أو تحويلها إلى شفرة الآلة.
  • يقوم برنامج Nuitka بتحويل أكواد بايثون إلى لغة C. [ 166 ] يعمل هذا المُترجم مع إصدارات بايثون من 3.4 إلى 3.13 (و2.6 و2.7) على منصات بايثون الرئيسية المدعومة (وأنظمة ويندوز 7 وحتى ويندوز XP) وعلى نظام أندرويد. يدّعي مطورو المُترجم دعمًا كاملاً لإصدار بايثون 3.10، ودعمًا جزئيًا لإصداري 3.11 و3.12، ودعمًا تجريبيًا لإصدار 3.13. يدعم Nuitka نظام macOS، بما في ذلك الإصدارات المُعتمدة على معالجات Apple Silicon. المُترجم مجاني، ولكنه يتضمن إضافات تجارية (مثلًا، لإخفاء شفرة المصدر).
  • Numba هو مُترجم فوري (JIT) يُستخدم مع لغة بايثون؛ حيث يقوم هذا المُترجم بترجمة جزء من كود بايثون و NumPy إلى كود آلة سريع. يتم تفعيل هذه الأداة بإضافة مُزخرف (decorator) إلى كود بايثون ذي الصلة.
  • يقوم برنامج Pythran بتحويل مجموعة فرعية من لغة Python  3 إلى لغة C++ ( C++11 ). [ 167 ]
  • يمكن ترجمة RPython إلى لغة C، ويتم استخدامها لبناء مترجم PyPy للغة Python.
  • يقوم مترجم Python → 11l → C++ [ 168 ] بتجميع مجموعة فرعية من Python  3 إلى C++ ( C++17 ).

توجد أيضًا برامج ترجمة متخصصة:

كانت هناك بعض المشاريع القديمة، بالإضافة إلى مترجمات لم تكن مصممة للاستخدام مع بايثون 3.x والصيغة ذات الصلة:

أداء

تم تقديم مقارنة للأداء بين تطبيقات بايثون المختلفة، باستخدام عبء عمل غير عددي (توافقي)، في مؤتمر EuroSciPy '13. [ 175 ] بالإضافة إلى ذلك، تم قياس أداء بايثون مقارنةً بلغات البرمجة الأخرى بواسطة لعبة معايير لغات الحاسوب . [ 176 ]

توجد عدة طرق لتحسين أداء لغة بايثون، على الرغم من بطء اللغة المفسرة بطبيعتها . وتشمل هذه الطرق الاستراتيجيات أو الأدوات التالية:

  • الترجمة الفورية : هي ترجمة أجزاء من برنامج بايثون ديناميكيًا أثناء تنفيذه. تُستخدم هذه التقنية في مكتبات مثل Numba و PyPy .
  • الترجمة الثابتة : في بعض الأحيان، يمكن ترجمة كود بايثون إلى لغة الآلة قبل تنفيذه. ومن الأمثلة على هذا الأسلوب برنامج Cython ، الذي يترجم بايثون إلى لغة C.
  • التزامن والتوازي : يمكن تشغيل مهام متعددة في وقت واحد. تحتوي لغة بايثون على وحدات مثل `multiprocessing` لدعم هذا النوع من التوازي. علاوة على ذلك، يساعد هذا الأسلوب في التغلب على قيود قفل المفسر العام (GIL) في مهام وحدة المعالجة المركزية.
  • هياكل البيانات الفعالة : يمكن أيضًا تحسين الأداء باستخدام أنواع البيانات مثل Setلاختبارات العضوية، أو dequeمن collectionsلعمليات قائمة الانتظار .
  • يمكن ملاحظة تحسينات في الأداء باستخدام مكتبات مثل NumPy . تستخدم معظم مكتبات بايثون عالية الأداء لغة C أو Fortran في بنيتها الداخلية بدلاً من مترجم بايثون. [ 177 ]

تنمية اللغة

يتم تطوير لغة بايثون في الغالب من خلال عملية مقترحات تحسين بايثون (PEP)؛ وتُعد هذه العملية الآلية الرئيسية لاقتراح ميزات جديدة رئيسية، وجمع آراء المجتمع حول المشكلات، وتوثيق قرارات تصميم بايثون. [ 178 ] يُغطى أسلوب برمجة بايثون في PEP  8. [ 86 ] تتم مراجعة مقترحات PEP المتميزة والتعليق عليها من قبل مجتمع بايثون والمجلس التوجيهي. [ 178 ]

يتزامن تحسين اللغة مع تطوير تطبيق CPython المرجعي. تُعدّ القائمة البريدية python-dev المنتدى الرئيسي لتطوير اللغة. نُوقشت المشكلات المحددة في البداية في نظام تتبع الأخطاء Roundup الذي تستضيفه المؤسسة. [ 179 ] في عام 2022، نُقلت جميع المشكلات والمناقشات إلى GitHub . [ 180 ] جرى التطوير في البداية على مستودع شفرة مصدرية مُستضاف ذاتيًا يعمل بنظام Mercurial ، إلى أن انتقلت لغة Python إلى GitHub في يناير 2017. [ 181 ]

تتضمن الإصدارات العامة لـ CPython ثلاثة أنواع، يتم تمييزها حسب الجزء الذي يتم زيادته من رقم الإصدار:

  • الإصدارات غير المتوافقة مع الإصدارات السابقة ، حيث يُتوقع أن يتعطل الكود ويجب نقله يدويًا . يتم زيادة الجزء الأول من رقم الإصدار. تحدث هذه الإصدارات على فترات متباعدة - فقد صدر الإصدار 3.0 بعد 8 سنوات من الإصدار 2.0. ووفقًا لغيدو فان روسوم، فمن المحتمل ألا يصدر الإصدار 4.0 أبدًا. [ 182 ]
  • الإصدارات الرئيسية أو "الميزات الجديدة" متوافقة إلى حد كبير مع الإصدار السابق، ولكنها تُضيف ميزات جديدة. ويتم زيادة الجزء الثاني من رقم الإصدار. بدءًا من بايثون  3.9، من المتوقع أن تصدر هذه الإصدارات سنويًا. [ 183 ] ​​[ 184 ] ويحظى كل إصدار رئيسي بدعم من خلال إصلاحات الأخطاء لعدة سنوات بعد إصداره. [ 185 ]
  • تُصدر تحديثات تصحيح الأخطاء [ 186 ] ، التي لا تُضيف أي ميزات جديدة، كل ثلاثة أشهر تقريبًا؛ وتُصدر هذه التحديثات عندما يتم إصلاح عدد كافٍ من الأخطاء في المصدر الرئيسي منذ الإصدار السابق. كما تُعالج الثغرات الأمنية في هذه التحديثات. ويتم زيادة الجزء الثالث والأخير من رقم الإصدار. [ 186 ]

يتم إصدار العديد من النسخ التجريبية (ألفا، بيتا، والمرشحة للإصدار) كمعاينات واختبارات قبل الإصدارات النهائية. ورغم وجود جدول زمني تقريبي للإصدارات، إلا أنها غالبًا ما تتأخر إذا لم يكن الكود جاهزًا بعد. يراقب فريق تطوير بايثون حالة الكود من خلال تشغيل مجموعة اختبارات وحدة كبيرة أثناء التطوير. [ 187 ]

يُعدّ مؤتمر PyCon أهم مؤتمر أكاديمي متخصص في لغة بايثون . كما توجد برامج إرشادية خاصة بلغة بايثون، مثل برنامج PyLadies .

تسمية

استُلهم اسم بايثون من فرقة الكوميديا ​​البريطانية مونتي بايثون ، التي كان غيدو فان روسوم، مبتكر بايثون، يستمتع بمشاهدتها أثناء تطوير اللغة. وتظهر إشارات مونتي بايثون بكثرة في شيفرة بايثون وثقافتها؛ [ 188 ] فعلى سبيل المثال، تُستخدم المتغيرات التركيبية غالبًا في أدبيات بايثون مثل spam و eggs ، بدلًا من foo و bar التقليديتين . [ 188 ] [ 189 ] كما تحتوي وثائق بايثون الرسمية على إشارات عديدة إلى عروض مونتي بايثون. [ 190 ] [ 191 ] ويُشار أحيانًا إلى مستخدمي بايثون باسم "Pythonistas". [ 192 ]

اللغات المتأثرة بلغة بايثون

انظر أيضاً

ملحوظات

  1. منذ الإصدار 3.5، ولكن يتم تجاهل هذه التلميحات، باستثناء الأدوات غير الرسمية [ 5 ]
  2. He has since come out of retirement and is self-titled "BDFL-emeritus".
  3. del in Python does not behave the same way delete in languages such as C++ does, where such a word is used to call the destructor and deallocate heap memory.
  1. Also known as PEP[80]
  2. to describe a new feature on Python
  3. to describe a desing issue or providing a general guideline
  4. to describe a process surrounding in Python

References

  1. "General Python FAQ – Python 3 documentation". docs.python.org. Retrieved 7 July 2024.
  2. "Python 0.9.1 part 01/21". alt.sources archives. Archived from the original on 11 August 2021. Retrieved 11 August 2021.
  3. "Python 3.14.6 and 3.13.14 are now available!". 10 June 2026. Retrieved 11 June 2026.
  4. "Why is Python a dynamic language and also a strongly typed language". Python Wiki. Archived from the original on 14 March 2021. Retrieved 27 January 2021.
  5. 12van Rossum, Guido; Levkivskyi, Ivan. "PEP 483 – The Theory of Type Hints". Python Enhancement Proposals (PEPs). Archived from the original on 14 June 2020. Retrieved 14 June 2018.
  6. von Löwis, Martin; Cannon, Brett. "PEP 11 – CPython platform support". Python Enhancement Proposals (PEPs). Retrieved 22 April 2024.
  7. "PEP 738 – Adding Android as a supported platform | peps.python.org". Python Enhancement Proposals (PEPs). Retrieved 19 May 2024.
  8. ١ ٢ "تنزيل بايثون لمنصات أخرى" . Python.org . مؤرشف من الأصل في ٢٧ نوفمبر ٢٠٢٠. تم الاطلاع عليه في ١٨ أغسطس ٢٠٢٣ .
  9. "test – حزمة اختبارات الانحدار للغة بايثون" . وثائق بايثون 3.7.17 . مؤرشف من الأصل بتاريخ 17 مايو 2022. تم الاطلاع عليه بتاريخ 17 مايو 2022 .
  10. "المنصة - الوصول إلى بيانات تعريف المنصة الأساسية" . وثائق بايثون 3.10.4 . مؤرشف من الأصل في 17 مايو 2022. تم الاطلاع عليه في 17 مايو 2022 .
  11. 1 2 3 فينرز، بيل (13 يناير 2003). "صناعة بايثون" . مطور أرتيما . أرتيما. مؤرشف من الأصل في 1 سبتمبر 2016. تم الاسترجاع في 22 مارس 2007 .
  12. كانون، بريت (20 فبراير 2015). "PEP 488 - حذف ملفات PYO" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 16 يناير 2026. تم الاطلاع عليه في 28 فبراير 2026. ملف PYC هو ملف بايت كود يتم إنشاؤه وقراءته عندما لا يتم تحديد مستوى تحسين عند بدء تشغيل المفسر [...].pyc
  13. أهلسروم، جيمس سي. (11 أكتوبر 2001). "PEP 273 - استيراد الوحدات من ملفات ZIP المضغوطة" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 25 فبراير 2026. تم الاسترجاع في 28 فبراير 2026. تحتوي الوحدات الديناميكية على امتدادات مثل `..` و`..` و`..` ..dll.pyd.so
  14. هاربر سميث، إيما (9 سبتمبر 2017). "PEP 561 - توزيع وتغليف معلومات النوع" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 7 ديسمبر 2025. تم الاطلاع عليه في 28 فبراير 2026 ."stubs" - ملفات تحتوي فقط على معلومات النوع، وخالية من رمز وقت التشغيل (ينتهي اسم الملف بـ .pyi).
  15. هاموند، مارك؛ فون لويس، مارتن (15 مارس 2011). "PEP 397 - مُشغّل بايثون لنظام ويندوز" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 4 فبراير 2026. تم الاسترجاع في 28 فبراير 2026. [...] يرتبط إصدار "وحدة التحكم " من المُشغّل بملفات .py، بينما يرتبط إصدار "ويندوز" بملفات .pyw.
  16. هولث، دانيال؛ مور، بول (30 مارس 2013). "PEP 0441 - تحسين دعم تطبيقات ZIP في بايثون" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 16 نوفمبر 2015. تم الاطلاع عليه في 12 نوفمبر 2015 .
  17. "لغة ستارلارك" . bazel.build . مؤرشف من الأصل في 15 يونيو 2020. تم الاطلاع عليه في 25 مايو 2019 .
  18. ١ ٢ " لماذا تم إنشاء بايثون في المقام الأول؟" . أسئلة وأجوبة عامة حول بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في ٢٤ أكتوبر ٢٠١٢. تم الاطلاع عليه في ٢٢ مارس ٢٠٠٧. كانت لدي خبرة واسعة في تطبيق لغة مُفسَّرة في مجموعة ABC في CWI، ومن خلال العمل مع هذه المجموعة تعلمت الكثير عن تصميم اللغات. هذا هو أصل العديد من ميزات بايثون، بما في ذلك استخدام المسافة البادئة لتجميع العبارات وإدراج أنواع بيانات عالية المستوى (على الرغم من أن التفاصيل تختلف تمامًا في بايثون).
  19. "دليل مرجعي لـ Ada 83 (بيان الرفع)" . archive.adaic.com . مؤرشف من الأصل في 22 أكتوبر 2019. تم الاطلاع عليه في 7 يناير 2020 .
  20. 1 2 كوتشلينغ، أندرو م . (22 ديسمبر 2006). "مقابلة مع غيدو فان روسوم (يوليو 1998)" . amk.ca. مؤرشف من الأصل في 1 مايو 2007. تم الاسترجاع في 12 مارس 2012. قضيتُ صيفًا في مركز أبحاث الأنظمة التابع لشركة DEC، حيث تعرفتُ على Modula-2+؛ وكان التقرير النهائي لـ Modula-3 يُكتب هناك في نفس الوقت تقريبًا. ما تعلمته هناك ظهر لاحقًا في معالجة الاستثناءات في بايثون، والوحدات، وحقيقة أن الدوال تحتوي صراحةً على 'self' في قائمة معلماتها. أما تقطيع السلاسل النصية فقد جاء من Algol-68 وIcon.
  21. 1 2 3 " itertools - دوال لإنشاء مُكرِّرات من أجل تكرار فعال" . وثائق بايثون 3.7.17 . مؤرشف من الأصل في 14 يونيو 2020. تم الاطلاع عليه في 22 نوفمبر 2016. تُنفِّذ هذه الوحدة عددًا من لبنات بناء المُكرِّرات المستوحاة من بنيات لغات APL و Haskell و SML.
  22. فان روسوم، غيدو (1993). "مقدمة إلى بايثون لمبرمجي يونكس/سي". وقائع مؤتمر مجموعة مستخدمي يونكس الهولندية (NLUUG Najaarsconferentie) . CiteSeerX 10.1.1.38.2023 . على الرغم من أن تصميم لغة سي بعيد كل البعد عن المثالية، إلا أن تأثيرها على بايثون كبير. 
  23. 1 2 "الفئات" . دليل بايثون التعليمي . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 23 أكتوبر 2012. تم الاسترجاع في 20 فبراير 2012. وهو مزيج من آليات الفئات الموجودة في لغة C++ و Modula-3
  24. لوند، فريدريك. " استدعاء بواسطة الكائن" . effbot.org . مؤرشف من الأصل في 23 نوفمبر 2019. تم الاسترجاع في 21 نوفمبر 2017. استبدل "CLU" بـ "Python"، و"record" بـ "instance"، و"procedure" بـ "function or method"، وستحصل على وصف دقيق لنموذج كائنات بايثون.
  25. سيميوناتو، ميشيل. "ترتيب حل الدوال في بايثون 2.3" . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 20 أغسطس 2020. تم الاطلاع عليه في 29 يوليو 2014. لا علاقة لدالة C3 نفسها ببايثون، إذ ابتكرها مطورو لغة ديلان، وهي موصوفة في ورقة بحثية موجهة لمبرمجي لغة ليسبر .
  26. كوتشلينغ، أ.م. " دليل البرمجة الوظيفية" . وثائق بايثون الإصدار 2.7.2 . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 24 أكتوبر 2012. تم الاطلاع عليه في 9 فبراير 2012. تُعدّ تعابير القوائم وتعبيرات المولدات [...] تدوينًا موجزًا ​​لمثل هذه العمليات، مُستعارًا من لغة البرمجة الوظيفية هاسكل.
  27. شيمينور، نيل؛ بيترز، تيم؛ هيتلاند، ماغنوس لي (18 مايو 2001). "PEP 255 - مولدات بسيطة" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 5 يونيو 2020. تم الاطلاع عليه في 9 فبراير 2012 . 
  28. "المزيد من أدوات التحكم في التدفق" . وثائق بايثون 3. مؤسسة برمجيات بايثون. مؤرشف من الأصل في 4 يونيو 2016. تم الاطلاع عليه في 24 يوليو 2015. بناءً على طلب المستخدمين، تمت إضافة بعض الميزات الشائعة في لغات البرمجة الوظيفية مثل ليسب إلى بايثون . باستخدام الكلمة المفتاحية lambda، يمكن إنشاء دوال مجهولة صغيرة.
  29. "إعادة - عمليات التعبير النمطي" . وثائق بايثون 3.10.6 . مؤرشف من الأصل في 18 يوليو 2018. تم الاطلاع عليه في 6 سبتمبر 2022. توفر هذه الوحدة عمليات مطابقة التعبيرات النمطية المشابهة لتلك الموجودة في بيرل .
  30. "CoffeeScript" . coffeescript.org . مؤرشف من الأصل في 12 يونيو 2020. تم الاطلاع عليه في 3 يوليو 2018 .
  31. راوشمير، أكسل (24 فبراير 2013). "تأثيرات بيرل وبايثون في جافا سكريبت" . 2ality.com . مؤرشف من الأصل في 26 ديسمبر 2018. تم الاطلاع عليه في 15 مايو 2015 .
  32. راوشمير، أكسل. "الفصل 3: طبيعة جافا سكريبت؛ التأثيرات" . التحدث بلغة جافا سكريبت . أورايلي. مؤرشف من الأصل في 26 ديسمبر 2018. تم الاسترجاع في 15 مايو 2015 .
  33. بيزانسون، جيف؛ كاربينسكي، ستيفان؛ شاه، فيرال ب.؛ إيدلمان، آلان (فبراير 2012). "لماذا أنشأنا جوليا؟" . موقع جوليا الإلكتروني . مؤرشف من الأصل في 2 مايو 2020. تم الاطلاع عليه في 5 يونيو 2014. نريد شيئًا سهل الاستخدام للبرمجة العامة مثل بايثون [...]
  34. 1 2 كريل، بول (4 مايو 2023). "لغة موجو تجمع بين بايثون وMLIR لتطوير الذكاء الاصطناعي" . إنفوورلد . مؤرشف من الأصل في 5 مايو 2023. تم الاسترجاع في 5 مايو 2023 .
  35. 1 2 بيني ، أولا (2007). مشاريع عملية لتطبيقات الويب 2.0 باستخدام JRuby on Rails: نقل Ruby on Rails إلى منصة Java . بيركلي: APress. ص 3. ISBN  978-1-59059-881-8.
  36. ١ ٢ لاتنر، كريس (٣ يونيو ٢٠١٤). " الصفحة الرئيسية لكريس لاتنر" . كريس لاتنر. مؤرشف من الأصل في ٢٥ ديسمبر ٢٠١٨. تم الاسترجاع في ٣ يونيو ٢٠١٤. لغة سويفت هي نتاج جهد دؤوب من فريق من خبراء اللغة، وخبراء التوثيق، ومطوري تحسين المترجمات، ومجموعة داخلية بالغة الأهمية لتجربة اللغة داخليًا، حيث قدموا ملاحظاتهم للمساعدة في تحسين الأفكار واختبارها عمليًا. بالطبع، استفادت اللغة بشكل كبير أيضًا من الخبرات المكتسبة بصعوبة من العديد من اللغات الأخرى في هذا المجال، مستمدةً أفكارها من لغات مثل أوبجكتيف-سي، وراست، وهاسكل، وروبي، وبايثون، وسي شارب، وسي إل يو، وغيرها الكثير.
  37. 1 2 "توثيق V (مقدمة)" . GitHub . تم الاطلاع عليه بتاريخ 24 ديسمبر 2024 .
  38. كولمان، ديف. "كتاب بايثون: بايثون للمبتدئين، بايثون المتقدم، وتمارين بايثون" . القسم 1.1. مؤرشف من النسخة الأصلية (PDF) بتاريخ 23 يونيو 2012.
  39. "PEP 484 – تلميحات النوع" . مقترحات تحسين بايثون . تم الاطلاع عليه بتاريخ 27 أكتوبر 2025 .
  40. "mypy – الكتابة الثابتة الاختيارية للغة بايثون" . mypy-lang.org . تم الاطلاع عليه بتاريخ 17 أغسطس 2025 .
  41. "ما الجديد في بايثون 3.15" . تم الاطلاع عليه بتاريخ 26 يناير 2026 .
  42. سلطانة، سيمون ج.؛ ريد، فيليب أ. (2017). "منهج دراسي لمقرر تمهيدي في علوم الحاسوب: تحديد التوصيات من الأوساط الأكاديمية والصناعية". مجلة دراسات التكنولوجيا . 43 (2): 80-92 . doi : 10.21061/jots.v43i2.a.3 . ISSN 1071-6084 . JSTOR 90023144 .  
  43. 1 2 3 فان روسوم، غيدو (20 يناير 2009). "جدول زمني موجز لبايثون" . تاريخ بايثون . مؤرشف من الأصل في 5 يونيو 2020. تم الاسترجاع في 20 يناير 2009 .
  44. فان روسوم، غيدو (29 أغسطس 2000). "SETL (كانت: غير متحمسة بشأن القيم الحرفية للنطاق)" . بايثون-ديف (قائمة بريدية). مؤرشفة من الأصل في 14 يوليو 2018. تم الاسترجاع في 13 مارس 2011 .
  45. فيرتشايلد، كارلي (12 يوليو 2018). "غيدو فان روسوم يتنحى عن منصبه كحاكم بايثون مدى الحياة" . مجلة لينكس . مؤرشف من الأصل في 13 يوليو 2018. تم الاطلاع عليه في 13 يوليو 2018 .
  46. سميث، ناثانيال جيه؛ دوربين، إي. "PEP 8100 - انتخابات المجلس التوجيهي لشهر يناير 2019" . مقترحات تحسين بايثون (PEPs) . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 4 يونيو 2020. تم الاسترجاع في 4 مايو 2019 .
  47. فريق بايثون الأساسي ومجتمعه. "PEP 13 - حوكمة لغة بايثون" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل بتاريخ 27 مايو 2021. تم الاطلاع عليه بتاريخ 25 أغسطس 2021 .
  48. ^ بريجز ، جيسون ر. ليبوفاتشا، ميران (2013). بايثون للأطفال: مقدمة مرحة للبرمجة سان فرانسيسكو، كاليفورنيا، الولايات المتحدة الأمريكية: لا يوجد مطبعة للنشا. رقم ISBN 978-1-59327-407-8. إل سي سي إن 2012044047 . او سي ال سي 825076499 . رأ 26119645 م .   
  49. كوتشلينغ، أ.م.؛ زادكا، موشيه (16 أكتوبر 2000). "ما الجديد في بايثون 2.0" . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 23 أكتوبر 2012. تم الاطلاع عليه في 11 فبراير 2012 .
  50. بيترسون، بنجامين. "PEP 373 – جدول إصدار بايثون 2.7" . python.org . مؤرشف من الأصل في 19 مايو 2020. تم الاطلاع عليه في 9 يناير 2017 .
  51. كوجلان، أليسا. "PEP 466 - تحسينات أمان الشبكة لـ Python 2.7.x" . مقترحات تحسين Python (PEPs) . مؤرشف من الأصل في 4 يونيو 2020. تم الاطلاع عليه في 9 يناير 2017 .
  52. "إيقاف دعم بايثون 2" . Python.org . مؤرشف من الأصل في 12 يناير 2020. تم الاطلاع عليه في 22 سبتمبر 2019 .
  53. بيترسون، بنجامين. "PEP 373 - جدول إصدار بايثون 2.7" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 13 يناير 2020. تم الاطلاع عليه في 22 سبتمبر 2019 .
  54. ^ ماتيب (25 ديسمبر 2023). "إصدار PyPy v7.3.14" . بي باي . مؤرشفة من الأصلي في 5 يناير 2024 . تم الاسترجاع في 5 يناير 2024 .
  55. بيترسون، بنجامين (20 أبريل 2020). "بايثون 2.7.18، الإصدار الأخير من بايثون 2" . بايثون إنسايدر . مؤرشف من الأصل في 26 أبريل 2020. تم الاطلاع عليه في 27 أبريل 2020 .
  56. "حالة إصدارات بايثون" . دليل مطوري بايثون . تم الاطلاع عليه بتاريخ 12 نوفمبر 2025 .
  57. شركة كاين غانغ المحدودة. "فئات بايثون الفوقية: من؟ لماذا؟ متى؟" (ملف PDF) . مؤرشف من الأصل (ملف PDF) في 30 مايو 2009. تم الاطلاع عليه في 27 يونيو 2009 .
  58. "3.3. أسماء الطرق الخاصة" . مرجع لغة بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 15 ديسمبر 2018. تم الاطلاع عليه في 27 يونيو 2009 .
  59. "PyDBC: الشروط المسبقة للأساليب، والشروط اللاحقة للأساليب، وثوابت الفئات في بايثون" . مؤرشف من الأصل بتاريخ 23 نوفمبر 2019. تم الاطلاع عليه بتاريخ 24 سبتمبر 2011 .
  60. "عقود بايثون" . مؤرشف من الأصل في 15 يونيو 2020. تم الاطلاع عليه في 24 سبتمبر 2011 .
  61. "PyDatalog" . مؤرشف من الأصل في 13 يونيو 2020. تم الاطلاع عليه في 22 يوليو 2012 .
  62. "اجمع كل شيء معًا باستخدام بايثون" . Python.org . تم الاطلاع عليه بتاريخ 30 سبتمبر 2024 .
  63. "عدّ المراجع" . توسيع وتضمين مُفسِّر بايثون. Docs.python.org . مؤرشف من الأصل في 18 أكتوبر 2012. تم الاطلاع عليه في 5 يونيو 2020. نظرًا لأن بايثون تستخدم بكثرة `reference` و` reference` ، فإنها تحتاج إلى استراتيجية لتجنب تسرب الذاكرة وإعادة استخدام الذاكرة المُحرَّرة. تُسمى الطريقة المُختارة عدّ المراجع .malloc()free()}
  64. 1 2 هيتينجر، ريموند (30 يناير 2002). "PEP 289 - تعابير المولدات" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 14 يونيو 2020. تم الاسترجاع في 19 فبراير 2012 . 
  65. "6.5 itertools – دوال لإنشاء مُكرِّرات من أجل تكرار فعال" . Docs.python.org. مؤرشف من الأصل في 14 يونيو 2020. تم الاطلاع عليه في 22 نوفمبر 2016 . 
  66. 1 2 بيترز، تيم (19 أغسطس 2004). "PEP 20 - جوهر بايثون" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 26 ديسمبر 2018. تم الاطلاع عليه في 24 نوفمبر 2008 . 
  67. لوتز، مارك (يناير 2022). "تغييرات بايثون 2014 وما بعدها" . تعلم بايثون . مؤرشف من الأصل في 15 مارس 2024. تم الاسترجاع في 25 فبراير 2024 .
  68. "التباس بشأن قاعدة في كتاب "فن بايثون""" . مناقشات. Python.org . مساعدة بايثون. 3 مايو 2022. مؤرشف من الأصل في 25 فبراير 2024. تم الاسترجاع في 25 فبراير 2024. "
  69. أمبي، شيتان (4 يوليو 2021). "أكثر مُعاملات بايثون إثارةً للجدل 'عامل الفظ'"" . تبسيط لغة بايثون (pythonsimplified.com) . مؤرشف من الأصل بتاريخ 27 أغسطس 2023. تم الاطلاع عليه بتاريخ 5 فبراير 2024 .
  70. غريفسكي، جيريمي (24 مايو 2020). "الجدل الدائر حول 'عامل الفظ' في بايثون" . المبرمج المتمرد (therenegadecoder.com) . مؤرشف من الأصل في 28 ديسمبر 2023. تم الاطلاع عليه في 25 فبراير 2024 .
  71. ^ فان كيميناد ، هوغو (2 يونيو 2026). "Python 3.15.0 beta 2 موجود هنا!" . بايثون من الداخل . تم الاسترجاع 18 يونيو 2026 .
  72. بادر، دان. "أفضل ممارسات تنسيق السلاسل النصية في بايثون" . موقع Real Python (realpython.com) . مؤرشف من الأصل بتاريخ 18 فبراير 2024. تم الاطلاع عليه بتاريخ 25 فبراير 2024 .
  73. مارتيلي، أليكس؛ رافينسكروفت، آنا؛ آشر، ديفيد (2005). كتاب طبخ بايثون، الطبعة الثانية . دار نشر أورايلي ميديا . ص 230. ISBN  978-0-596-00797-3أُرشف من الأصل بتاريخ 23 فبراير 2020. تم الاطلاع عليه بتاريخ 14 نوفمبر 2015 .
  74. "ثقافة بايثون" . إيبيب . 21 يناير 2014. مؤرشف من الأصل في 30 يناير 2014.
  75. ١ ٢ "تحويل بايثون إلى جوليا باستخدام PyJL" ( ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ ١٩ نوفمبر ٢٠٢٣. تم الاطلاع عليه بتاريخ ٢٠ سبتمبر ٢٠٢٣. بعد تعديل سطر واحد من التعليمات البرمجية يدويًا بتحديد معلومات النوع اللازمة، حصلنا على تسريع قدره ٥٢.٦ ضعفًا، مما جعل كود جوليا المترجم أسرع بمقدار ١٩.٥ ضعفًا من كود بايثون الأصلي.
  76. 1 2 "15 طريقة تجعل بايثون قوة مؤثرة على الويب" . مؤرشف من الأصل في 11 مايو 2019. تم الاطلاع عليه في 3 يوليو 2018 . 
  77. "لماذا يُطلق عليه اسم بايثون؟" . الأسئلة الشائعة حول بايثون . Docs.python.org. مؤرشف من الأصل بتاريخ 24 أكتوبر 2012. تم الاطلاع عليه بتاريخ 3 يناير 2023 .
  78. " – مُنسِّق البيانات – توثيق بايثون 3.11.0 " . docs.python.org . مؤرشف من الأصل بتاريخ 22 يناير 2021. تم الاطلاع عليه بتاريخ 5 نوفمبر 2022 .pprintstuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
  79. "أسلوب البرمجة" . دليل المسافر إلى بايثون. docs.python-guide.org . مؤرشف من الأصل في 27 يناير 2021. تم الاطلاع عليه في 20 يناير 2021 .
  80. 1 2 3 وارسو، بيري؛ هيلتون، جيريمي؛ غودر، ديفيد (13 يونيو 2000). "PEP 1 - الغرض من PEP وإرشاداته" . peps.python.org . تم الاطلاع عليه في 6 مايو 2026 .
  81. 1 2 "مقترح تحسين بايثون (PEP)" . تم الاطلاع عليه في 6 مايو 2026 .
  82. 1 2 3 "ما هو اقتراح تحسين بايثون (PEP)؟" . believemy.com . تم الاطلاع عليه بتاريخ 7 مايو 2026 .
  83. "هل لغة بايثون مناسبة للمبرمجين المبتدئين؟" . أسئلة وأجوبة عامة حول بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل بتاريخ 24 أكتوبر 2012. تم الاطلاع عليه بتاريخ 21 مارس 2007 .
  84. "خرافات حول المسافة البادئة في بايثون" . Secnetix.de. مؤرشف من الأصل بتاريخ 18 فبراير 2018. تم الاطلاع عليه بتاريخ 19 أبريل 2011 .
  85. غوتاغ، جون ف. (12 أغسطس 2016). مقدمة في الحوسبة والبرمجة باستخدام بايثون: مع تطبيق لفهم البيانات . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 978-0-262-52962-4.
  86. 1 2 فان روسوم، غيدو؛ وارسو، باري. "PEP 8 - دليل أسلوب كتابة كود بايثون" . مقترحات تحسين بايثون (PEPs) . مؤرشف من الأصل في 17 أبريل 2019. تم الاطلاع عليه في 26 مارس 2019 .
  87. "8. الأخطاء والاستثناءات - وثائق بايثون 3.12.0a0" . docs.python.org . مؤرشف من الأصل في 9 مايو 2022. تم الاطلاع عليه في 9 مايو 2022 .
  88. "أبرز النقاط: بايثون 2.5" . Python.org . مؤرشف من الأصل في 4 أغسطس 2019. تم الاطلاع عليه في 20 مارس 2018 .
  89. "ما الجديد في بايثون 3.15" . وثائق بايثون . تم الاطلاع عليه بتاريخ 30 أبريل 2026 .
  90. فان روسوم، غيدو (22 أبريل 2009). "إزالة الاستدعاء الذاتي في الذيل" . Neopythonic.blogspot.be. مؤرشف من الأصل في 19 مايو 2018. تم الاطلاع عليه في 3 ديسمبر 2012 .
  91. فان روسوم، غيدو (9 فبراير 2006). "تصميم اللغة ليس مجرد حل ألغاز" . منتديات أرتيما . أرتيما. مؤرشف من الأصل في 17 يناير 2020. تم الاطلاع عليه في 21 مارس 2007 .
  92. فان روسوم، غيدو؛ إيبي، فيليب جيه. (10 مايو 2005). "PEP 342 - الروتينات الفرعية عبر مولدات محسّنة" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 29 مايو 2020. تم الاسترجاع في 19 فبراير 2012 . 
  93. "PEP 380" . Python.org. مؤرشف من الأصل في 4 يونيو 2020. تم الاطلاع عليه في 3 ديسمبر 2012 .
  94. "القسمة" . python.org . مؤرشف من الأصل في 20 يوليو 2006. تم الاطلاع عليه في 30 يوليو 2014 .
  95. "PEP 0465 - مُعامل وسطي مُخصص لضرب المصفوفات" . python.org . مؤرشف من الأصل في 4 يونيو 2020. تم الاطلاع عليه في 1 يناير 2016 .
  96. "إصدار بايثون 3.5.1 وسجل التغييرات" . python.org . مؤرشف من الأصل بتاريخ 14 مايو 2020. تم الاطلاع عليه بتاريخ 1 يناير 2016 .
  97. "ما الجديد في بايثون 3.8" . مؤرشف من الأصل في 8 يونيو 2020. تم الاطلاع عليه في 14 أكتوبر 2019 .
  98. فان روسوم، غيدو؛ هيتينغر، ريموند (7 فبراير 2003). "PEP 308 - التعبيرات الشرطية" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 13 مارس 2016. تم الاطلاع عليه في 13 يوليو 2011 . 
  99. "4. الأنواع المضمنة - وثائق بايثون 3.6.3rc1" . python.org . مؤرشف من الأصل في 14 يونيو 2020. تم الاطلاع عليه في 1 أكتوبر 2017 .
  100. "5.3. المجموعات والتسلسلات - وثائق بايثون 3.7.1rc2" . python.org . مؤرشف من الأصل في 10 يونيو 2020. تم الاطلاع عليه في 17 أكتوبر 2018 .
  101. 1 2 "PEP 498 – استيفاء السلاسل النصية الحرفية" . python.org . مؤرشف من الأصل في 15 يونيو 2020. تم الاطلاع عليه في 8 مارس 2017 .
  102. "مرجع لغة بايثون، القسم 3.3. الفئات الجديدة والكلاسيكية، للإصدار 2.7.1" . مؤرشف من الأصل بتاريخ 26 أكتوبر 2012. تم الاطلاع عليه بتاريخ 12 يناير 2011 .
  103. "PEP 484 – تلميحات حول أنواع البيانات | peps.python.org" . peps.python.org . مؤرشف من الأصل بتاريخ 27 نوفمبر 2023. تم الاطلاع عليه بتاريخ 29 نوفمبر 2023 .
  104. "الكتابة - دعم تلميحات الأنواع" . وثائق بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 21 فبراير 2020. تم الاطلاع عليه في 22 ديسمبر 2023 .
  105. "mypy – الكتابة الثابتة الاختيارية للغة بايثون" . مؤرشف من الأصل في 6 يونيو 2020. تم الاطلاع عليه في 28 يناير 2017 .
  106. "مقدمة" . mypyc.readthedocs.io . مؤرشف من الأصل بتاريخ 22 ديسمبر 2023. تم الاطلاع عليه بتاريخ 22 ديسمبر 2023 .
  107. "على أي أنظمة لا يستخدم بايثون الأعداد العشرية ذات الدقة المزدوجة IEEE-754؟" . ستاك أوفرفلو . تم الاطلاع عليه في 7 يونيو 2026 .
  108. "15. الحساب ذو الفاصلة العائمة: المشكلات والقيود - وثائق بايثون 3.8.3" . docs.python.org . مؤرشف من الأصل في 6 يونيو 2020. تم الاطلاع عليه في 6 يونيو 2020. تستخدم جميع الأجهزة تقريبًا اليوم (نوفمبر 2000) حسابات الفاصلة العائمة وفقًا لمعيار IEEE-754، وتقوم جميع المنصات تقريبًا بتحويل أعداد بايثون العائمة إلى "دقة مزدوجة" وفقًا لمعيار IEEE-754.
  109. "ArrowNotImplementedError: خطأ في تحويل البيانات من نوع halffloat عند تطبيق pandas.to_feather على إطار بيانات" . Stack Overflow . تم الاطلاع عليه بتاريخ 8 يونيو 2026 .
  110. "تنسيقات الفاصلة العائمة الغريبة - وثائق bitstring 4.3" . bitstring.readthedocs.io . تم ​​الاطلاع عليه بتاريخ 8 يونيو 2026 .
  111. زادكا، موشيه؛ فان روسوم، غيدو (11 مارس 2001). "PEP 237 - توحيد الأعداد الصحيحة الطويلة والأعداد الصحيحة" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 28 مايو 2020. تم الاطلاع عليه في 24 سبتمبر 2011 . 
  112. "الأنواع المدمجة" . مؤرشف من الأصل في 14 يونيو 2020. تم الاطلاع عليه في 3 أكتوبر 2019 .
  113. "PEP 465 - مُعامل وسطي مُخصّص لضرب المصفوفات" . python.org . مؤرشف من الأصل في 29 مايو 2020. تم الاطلاع عليه في 3 يوليو 2018 .
  114. 1 2 زادكا، موشيه؛ فان روسوم، غيدو (11 مارس 2001). "PEP 238 - تغيير عامل القسمة" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 28 مايو 2020. تم الاسترجاع في 23 أكتوبر 2013 . 
  115. "Why Python's Integer Division Floors". 24 August 2010. Archived from the original on 5 June 2020. Retrieved 25 August 2010.
  116. "round", The Python standard library, release 3.2, §2: Built-in functions, archived from the original on 25 October 2012, retrieved 14 August 2011
  117. "round", The Python standard library, release 2.7, §2: Built-in functions, archived from the original on 27 October 2012, retrieved 14 August 2011
  118. Beazley, David M. (2009). Python Essential Reference (4th ed.). Addison-Wesley Professional. p. 66. ISBN 978-0-672-32978-4.
  119. Kernighan, Brian W.; Ritchie, Dennis M. (1988). The C Programming Language (2nd ed.). p. 206.
  120. 12Batista, Facundo (17 October 2003). "PEP 327 – Decimal Data Type". Python Enhancement Proposals. Python Software Foundation. Archived from the original on 4 June 2020. Retrieved 24 November 2008.
  121. "What's New in Python 2.6". Python v2.6.9 documentation. 29 October 2013. Archived from the original on 23 December 2019. Retrieved 26 September 2015.
  122. "10 Reasons Python Rocks for Research (And a Few Reasons it Doesn't) – Hoyt Koepke". University of Washington Department of Statistics. Archived from the original on 31 May 2020. Retrieved 3 February 2019.
  123. Shell, Scott (17 June 2014). "An introduction to Python for scientific computing"(PDF). Archived(PDF) from the original on 4 February 2019. Retrieved 3 February 2019.
  124. Piotrowski, Przemyslaw (July 2006). "Build a Rapid Web Development Environment for Python Server Pages and Oracle". Oracle Technology Network. Oracle. Archived from the original on 2 April 2019. Retrieved 12 March 2012.
  125. إيبي، فيليب ج. (7 ديسمبر 2003). "PEP 333 - واجهة بوابة خادم الويب بايثون الإصدار 1.0" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 14 يونيو 2020. تم الاطلاع عليه في 19 فبراير 2012 . 
  126. "PyPI" . PyPI . 13 مارس 2025. مؤرشف من الأصل في 22 فبراير 2025.
  127. "مسرد المصطلحات: تفاعلي" . وثائق بايثون . الإصدار 3.13.7 . تم الاطلاع عليه بتاريخ 31 أغسطس 2025 .
  128. 1 2 "IDLE — محرر وواجهة أوامر بايثون" . وثائق بايثون . الإصدار 3.13.7 . تاريخ الاطلاع: 31 أغسطس 2025. IDLE هي بيئة التطوير والتعلم المتكاملة لبايثون.
  129. "وثائق IPython" . الإصدار 9.5.0. 29 أغسطس 2025. مؤرشف من الأصل في 31 أغسطس 2025. تم الاطلاع عليه في 31 أغسطس 2025 .
  130. "Python in Visual Studio Code" . code.visualstudio.com . تم الاطلاع عليه في 1 ديسمبر 2025 .
  131. "مشروع جوبيتر" . Jupyter.org . مؤرشف من الأصل في 12 أكتوبر 2023. تم الاطلاع عليه في 2 أبريل 2025 .
  132. هاربر، دوغ (ربيع 2024). "مظلة الفكر" . فيزياء جامعة كنتاكي الغربية 316. جامعة كنتاكي الغربية . مؤرشف من الأصل في 18 أغسطس 2024. تم الاسترجاع في 31 أغسطس 2025 .
  133. "مظلة إنثوت" . إنثوت . مؤرشف من الأصل في 15 يوليو 2017. تم الاسترجاع في 20 أغسطس 2016 .
  134. "PEP 7 – دليل أسلوب كتابة كود C | peps.python.org" . peps.python.org . مؤرشف من الأصل بتاريخ 24 أبريل 2022. تم الاطلاع عليه بتاريخ 28 أبريل 2022 .
  135. "4. بناء امتدادات C و C++ - وثائق بايثون 3.9.2" . docs.python.org . مؤرشف من الأصل في 3 مارس 2021. تم الاطلاع عليه في 1 مارس 2021 .
  136. فان روسوم، غيدو (5 يونيو 2001). "PEP 7 - دليل أسلوب كتابة كود C" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 1 يونيو 2020. تم الاطلاع عليه في 24 نوفمبر 2008 . 
  137. "شفرة بايت CPython" . Docs.python.org. مؤرشف من الأصل في 5 يونيو 2020. تم الاطلاع عليه في 16 فبراير 2016 .
  138. "مكونات بايثون الداخلية 2.5" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 6 أغسطس 2012. تم الاطلاع عليه بتاريخ 19 أبريل 2011 .
  139. "سجل التغييرات - وثائق بايثون 3.9.0" . docs.python.org . مؤرشف من الأصل في 7 فبراير 2021. تم الاطلاع عليه في 8 فبراير 2021 .
  140. "تنزيل بايثون" . Python.org . مؤرشف من الأصل في 8 ديسمبر 2020. تم الاطلاع عليه في 13 ديسمبر 2020 .
  141. "مشاكل توافق VMS مع بايثون - ويكي VSI OpenVMS" . wiki.vmssoftware.com . تم الاطلاع عليه بتاريخ 8 يونيو 2026 .
  142. "Python and Python Wheels for OpenVMS — VMS Software, Inc" . docs.vmssoftware.com . تم الاطلاع عليه بتاريخ 8 يونيو 2026 .
  143. "تاريخ [ vmspython ] " . www.vmspython.org . مؤرشف من الأصل في 2 ديسمبر 2020. تم الاطلاع عليه في 4 ديسمبر 2020 .
  144. "مقابلة مع غيدو فان روسوم" . Oreilly.com. مؤرشفة من الأصل بتاريخ 16 يوليو 2014. تم الاطلاع عليها بتاريخ 24 نوفمبر 2008 .
  145. 1 2 3 بيريرا، روي؛ كوتو، ماركو؛ ريبيرو، فرانسيسكو؛ روا، روي؛ كونيا، جاكومي؛ فرنانديز، جواو باولو؛ سارايفا ، جواو (23 أكتوبر 2017). "كفاءة الطاقة عبر لغات البرمجة: كيف ترتبط الطاقة والوقت والذاكرة؟" . وقائع المؤتمر الدولي العاشر لـ ACM SIGPLAN حول هندسة لغات البرمجيات . SLE 2017. نيويورك، نيويورك، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. ص 256 – 267. دوى : 10.1145 / 3136014.3136031 . رقم ISBN  978-1-4503-5525-4.
  146. "ما يفعله PyInstaller وكيف يفعله" .
  147. "توافق PyPy" . Pypy.org. مؤرشف من الأصل في 6 يونيو 2020. تم الاطلاع عليه في 3 ديسمبر 2012 .
  148. فريق PyPy (28 ديسمبر 2019). "التنزيل والتثبيت" . PyPy . مؤرشف من الأصل في 8 يناير 2022. تم الاطلاع عليه في 8 يناير 2022 .
  149. "مقارنة سرعة بين CPython و Pypy" . Speed.pypy.org. مؤرشف من الأصل بتاريخ 10 مايو 2021. تم الاطلاع عليه بتاريخ 3 ديسمبر 2012 .
  150. "Codon: Differences with Python" . مؤرشف من الأصل في 25 مايو 2023. تم الاطلاع عليه في 28 أغسطس 2023 .
  151. لوسون، لورين (14 مارس 2023). "مترجم من ابتكار معهد ماساتشوستس للتكنولوجيا يُسرّع كود بايثون" . ذا نيو ستاك . مؤرشف من الأصل في 6 أبريل 2023. تم الاطلاع عليه في 28 أغسطس 2023 .
  152. "Python-for-EV3" . LEGO Education . مؤرشف من الأصل في 7 يونيو 2020. تم الاطلاع عليه في 17 أبريل 2019 .
  153. يغولالب، سردار (29 أكتوبر 2020). "عودة بايثون من الموت لتسريع بايثون" . إنفوورلد . مؤرشف من الأصل في 27 يناير 2021. تم الاطلاع عليه في 26 يناير 2021 .
  154. "سيندر: نسخة معدلة من CPython موجهة نحو الأداء من إنستغرام" . جيت هاب . مؤرشف من الأصل في 4 مايو 2021. تم الاطلاع عليه في 4 مايو 2021 .
  155. أروكا، رافائيل (7 أغسطس 2021). "سنيك لانغ: يشبه بايثون على أردوينو" . مدونة تقنية أخرى . مؤرشف من الأصل في 5 يناير 2024. تم الاطلاع عليه في 4 يناير 2024 .
  156. أوفرانك (سي إن إكس سوفت)، جان لوك (16 يناير 2020). "لوحة التحكم سنيك بورد تتحكم في وظائف الطاقة لمكعبات ليغو باستخدام لغتي برمجة سيركت بايثون أو سنيك (تمويل جماعي) - سي إن إكس سوفتوير" . سي إن إكس سوفتوير - أخبار الأنظمة المدمجة . مؤرشف من الأصل في 5 يناير 2024. تم الاطلاع عليه في 4 يناير 2024 .
  157. كينيدي (@mkennedy)، مايكل. "هل أنت مستعد لمعرفة ما إذا كنت ستصبح مشهورًا؟" . pythonbytes.fm . مؤرشف من الأصل في 5 يناير 2024. تم الاطلاع عليه في 4 يناير 2024 .
  158. باكارد، كيث (20 ديسمبر 2022). "لغة برمجة سنيك: لغة حوسبة مضمنة مستوحاة من بايثون" (ملف PDF) . مؤرشف (ملف PDF) من الأصل في 4 يناير 2024. تم الاطلاع عليه في 4 يناير 2024 .
  159. RustPython/RustPython ، RustPython Dev، 5 مايو 2026 ، تم الاطلاع عليه في 6 مايو 2026
  160. "ميزات Stackless على مستوى التطبيق - وثائق PyPy 2.0.2" . Doc.pypy.org. مؤرشف من الأصل في 4 يونيو 2020. تم الاطلاع عليه في 17 يوليو 2013 .
  161. "خطط لتحسين بايثون" . استضافة مشاريع جوجل . 15 ديسمبر 2009. مؤرشف من الأصل في 11 أبريل 2016. تم الاطلاع عليه في 24 سبتمبر 2011 .
  162. "بايثون على نوكيا N900" . الهندسة العشوائية . 29 أبريل 2010. مؤرشف من الأصل في 20 يونيو 2019. تم الاسترجاع في 9 يوليو 2015 .
  163. "Brython" . brython.info . مؤرشف من الأصل في 3 أغسطس 2018. تم الاطلاع عليه في 21 يناير 2021 .
  164. "Transcrypt – بايثون في المتصفح" . transcrypt.org . مؤرشف من الأصل بتاريخ 19 أغسطس 2018. تم الاطلاع عليه بتاريخ 22 ديسمبر 2020 .
  165. "Transcrypt: Anatomy of a Python to JavaScript Compiler" . InfoQ . مؤرشف من الأصل في 5 ديسمبر 2020. تم الاطلاع عليه في 20 يناير 2021 .
  166. "Nuitka Home | Nuitka Home" . nuitka.net . مؤرشف من الأصل بتاريخ 30 مايو 2020. تم الاطلاع عليه بتاريخ 18 أغسطس 2017 .
  167. غيلتون، سيرج؛ برونيه، بييريك؛ أميني، مهدي؛ ميرليني، أدريان؛ كوربيون، كزافييه؛ رينو، آلان (16 مارس 2015). "Pythran: تمكين التحسين الثابت لبرامج بايثون العلمية" . علوم الحوسبة والاكتشاف . 8 (1) 014001. دار نشر IOP. Bibcode : 2015CS & D....8a4001G . doi : 10.1088/1749-4680/8/1/014001 . ISSN 1749-4699 . 
  168. "مترجم بايثون → 11l → C++" . مؤرشف من الأصل بتاريخ 24 سبتمبر 2022. تم الاطلاع عليه بتاريخ 17 يوليو 2022 .
  169. "google/grumpy" . ١٠ أبريل ٢٠٢٠. مؤرشف من الأصل في ١٥ أبريل ٢٠٢٠. تم الاسترجاع في ٢٥ مارس ٢٠٢٠ عبر GitHub.
  170. "المشاريع" . opensource.google . مؤرشف من الأصل بتاريخ 24 أبريل 2020. تم الاطلاع عليه بتاريخ 25 مارس 2020 .
  171. فرانسيسكو، توماس كلابورن في سان. "كود جوجل الغاضب يجعل بايثون جو" . www.theregister.com . مؤرشف من الأصل في 7 مارس 2021. تم الاسترجاع في 20 يناير 2021 .
  172. "IronPython.net /" . ironpython.net . مؤرشف من الأصل بتاريخ 17 أبريل 2021.
  173. "GitHub – IronLanguages/ironpython3: تطبيق لغة بايثون 3.x لإطار عمل .NET مبني على بيئة تشغيل اللغات الديناميكية" . GitHub . مؤرشف من الأصل بتاريخ 28 سبتمبر 2021.
  174. "أسئلة وأجوبة حول Jython" . www.jython.org . مؤرشف من الأصل بتاريخ 22 أبريل 2021. تم الاطلاع عليه بتاريخ 22 أبريل 2021 .
  175. موري، ريكاردو (2013). أداء بيئات تشغيل بايثون على برنامج علمي غير رقمي . المؤتمر الأوروبي حول بايثون في العلوم (EuroSciPy). arXiv : 1404.6388 . Bibcode : 2014arXiv1404.6388M .
  176. "لعبة معايير لغات البرمجة" . مؤرشفة من الأصل بتاريخ 14 يونيو 2020. تم الاطلاع عليها بتاريخ 30 أبريل 2020 .
  177. بايثون، ريال. "انظري يا أمي، لا حلقات تكرار: برمجة المصفوفات باستخدام NumPy - ريال بايثون" . realpython.com . تم الاطلاع عليه بتاريخ 15 أكتوبر 2025 .
  178. 1 2 وارسو، باري؛ هيلتون، جيريمي؛ جودجر، ديفيد (13 يونيو 2000). "PEP 1 - الغرض من PEP والمبادئ التوجيهية" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 6 يونيو 2020. تم الاسترجاع في 19 أبريل 2011 . 
  179. كانون، بريت. "غيدو، وبعض الأشخاص، وقائمة بريدية: كيف يتم تطوير بايثون" . python.org . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 1 يونيو 2009. تم الاطلاع عليه في 27 يونيو 2009 .
  180. إيدج، جيك (23 فبراير 2022). "نقل أخطاء بايثون إلى جيت هاب [ LWN.net ] " . مؤرشف من الأصل في 2 أكتوبر 2022. تم الاطلاع عليه في 2 أكتوبر 2022 .
  181. "دليل مطوري بايثون" – دليل مطوري بايثون . devguide.python.org . مؤرشف من الأصل في 9 نوفمبر 2020. تم الاطلاع عليه في 17 ديسمبر 2019 .
  182. هيوز، أوين (24 مايو 2021). "لغات البرمجة: لماذا قد لا يصدر بايثون 4.0 أبدًا، وفقًا لمبتكره" . TechRepublic . مؤرشف من الأصل في 14 يوليو 2022. تم الاطلاع عليه في 16 مايو 2022 .
  183. "PEP 602 – دورة الإصدار السنوية للغة بايثون" . Python.org . مؤرشف من الأصل في 14 يونيو 2020. تم الاطلاع عليه في 6 نوفمبر 2019 .
  184. إيدج، جيك (23 أكتوبر 2019). "تغيير وتيرة إصدار بايثون [ LWN.net ] " . lwn.net . مؤرشف من الأصل في 6 نوفمبر 2019. تم الاطلاع عليه في 6 نوفمبر 2019 .
  185. نورويتز، نيل (8 أبريل 2002). " جداول إصدارات [ Python-Dev ] (كانت سابقًا الاستقرار والتغيير)" . مؤرشف من الأصل في 15 ديسمبر 2018. تم الاطلاع عليه في 27 يونيو 2009 .
  186. 1 2 آهز؛ باكستر، أنتوني (15 مارس 2001). "PEP 6 - إصدارات إصلاح الأخطاء" . مقترحات تحسين بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 5 يونيو 2020. تم الاسترجاع في 27 يونيو 2009 . 
  187. "Python Buildbot" . دليل مطوري بايثون . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 5 يونيو 2020. تم الاطلاع عليه في 24 سبتمبر 2011 .
  188. ١ ٢ "إثارة شهيتك" . دليل بايثون التعليمي . مؤسسة برمجيات بايثون. مؤرشف من الأصل في ٢٦ أكتوبر ٢٠١٢. تم الاطلاع عليه في ٢٠ فبراير ٢٠١٢ .
  189. "هل يجب استخدام else بعد return في كتلة if في بايثون؟" . Stack Overflow . Stack Exchange. 17 فبراير 2011. مؤرشف من الأصل في 20 يونيو 2019. تم الاطلاع عليه في 6 مايو 2011 .
  190. لوتز 2013 ، ص 17.
  191. فيهيلي، كريس (2002). بايثون . دار بيتشبيت للنشر. ص. 15. ISBN  978-0-201-74884-0أُرشف من الأصل بتاريخ 17 يوليو 2017. تم الاطلاع عليه بتاريخ 9 مايو 2017 .
  192. لوبانوفيتش، بيل (2014). مقدمة إلى بايثون . سيباستوبول، كاليفورنيا : أورايلي ميديا. ص 305. ISBN   978-1-4493-5936-2تم الاطلاع عليه بتاريخ 31 يوليو 2023 .
  193. إيستربوك، تشارلز. "شكر وتقدير" . cobra-language.com . لغة الكوبرا. مؤرشف من الأصل في 8 فبراير 2008. تم الاطلاع عليه في 7 أبريل 2010 .
  194. "مقترحات: المُكرِّرات والمُولِّدات [ ويكي ES4 ] " . wiki.ecmascript.org. مؤرشف من الأصل في 20 أكتوبر 2007. تم الاطلاع عليه في 24 نوفمبر 2008 .
  195. كينكيد، جيسون (10 نوفمبر 2009). "جو من جوجل: لغة برمجة جديدة تجمع بين بايثون وسي++" . تيك كرانش . مؤرشف من الأصل في 18 يناير 2010. تم الاطلاع عليه في 29 يناير 2010 .
  196. "Why We Created Julia". Julia website. February 2012. Archived from the original on 2 May 2020. Retrieved 5 June 2014. We want something as usable for general programming as Python [...]
  197. "Modular Docs – Why Mojo". docs.modular.com. Archived from the original on 5 May 2023. Retrieved 5 May 2023. Mojo as a member of the Python family [..] Embracing Python massively simplifies our design efforts, because most of the syntax is already specified. [..] we decided that the right long-term goal for Mojo is to provide a superset of Python (i.e. be compatible with existing programs) and to embrace the CPython immediately for long-tail ecosystem enablement. To a Python programmer, we expect and hope that Mojo will be immediately familiar, while also providing new tools for developing systems-level code that enable you to do things that Python falls back to C and C++ for.
  198. Spencer, Michael (4 May 2023). "What is Mojo Programming Language?". datasciencelearningcenter.substack.com. Archived from the original on 5 May 2023. Retrieved 5 May 2023.
  199. "GDScript". gdscript.com. Retrieved 24 November 2025.

Sources

  • "Python for Artificial Intelligence". Python Wiki. 19 July 2012. Archived from the original on 1 November 2012. Retrieved 3 December 2012.
  • Paine, Jocelyn, ed. (August 2005). "AI in Python". AI Expert Newsletter. Amzi!. Archived from the original on 26 March 2012. Retrieved 11 February 2012.
  • "PyAIML 0.8.5: Python Package Index". Pypi.python.org. Retrieved 17 July 2013.
  • Russell, Stuart J. & Norvig, Peter (2009). Artificial Intelligence: A Modern Approach (3rd ed.). Upper Saddle River, NJ: Prentice Hall. ISBN 978-0-13-604259-4.

Further reading

  • Downey, Allen (July 2024). Think Python: How to Think Like a Computer Scientist (3rd ed.). O'Reilly Media. ISBN 978-1-0981-5543-8.
  • Lutz, Mark (2013). Learning Python (5th ed.). O'Reilly Media. ISBN 978-0-596-15806-4.
  • سمرفيلد، مارك (2009). البرمجة بلغة بايثون 3 (  الطبعة الثانية). أديسون-ويسلي بروفيشنال. ISBN 978-0-321-68056-3.
  • رامالهو ، لوتشيانو (مايو 2022). بطلاقة بايثون . أورايلي وسائل الإعلام. رقم ISBN 978-1-4920-5632-4.