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

عودة للموسوعة

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

نشأت بايثون في مركز CWI (مركز العلوم والحاسب الآلي) بأمستردام على يد جايدوڤان روسم في أواخر الثمانينات من القرن المنصرم، وكان أول إعلان عنها في عام 1991. تم كتابة نواة اللغة بلغة سي. أطلق ڤان روسم الاسم "بايثون" على لغته تعبيرًا عن إعجابه بفِرقَة مسرحية هزلية شهيرة من بريطانيا، كانت تطلق على نفسها الاسم مونتي بايثون.

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

تاريخ

بدأ التفكير في إنشاء لغة بايثون أواخر الثمانينيات من القرن العشرين من طرف جايدوڤان روسم في مركز العلوم والحاسب الآلي (Centrum Wiskunde & Informatica) بهولندا كخليفة للغة البرمجية اي بي سي (والتي بدورها مستوحاة من سيتل).بأن تكون قادرة على معالجة الحالات الاستثنائية والتفاعل مع نظام التشغيل أميبا. لم يبدأ تطبيق الفكرة حتى ديسمبر 1989.

تحمّل فان روسوم المسؤولية عن المشروع منفردًا، وذلك بصفته المطور الرئيسي، حتى 12 يوليو 2018 ، عندما أعرب عن "إجازته الدائمة" من مسؤولياته كدكتاتور بايثون الخيري لمدى الحياة ، وهواللقب الذي منحه له مجتمع بايثون ليعكس التزامه طويل الأمد بصفته صانع القرار الرئيسي للمشروع. يشارك الآن في القيادة عضوًا في مجلس التوجيه المكون من خمسة أشخاص.

أُصدرت بايثون 2.0 في 16 أكتوبر 2000 مع الكثير من الميزات الجديدة الرئيسية، بما في ذلك اكتشاف الدورة وجامع القمامة ودعم يونيكود.

أُصدرت بايثون 3.0 في ثلاثة ديسمبر 2008 . التي كانت مراجعة رئيسية للغة لكنها ليست متوافقة بالكامل مع الإصدارات السابقة. كانت الكثير من ميزاتها الرئيسية الحمل العكسي في سلاسل إصدار بايثون 2.6.x و2.7.x . تتضمنت إصدارات بايثون ثلاثة الوظيفة 2to3، التي تعمل تلقائيًا (جزئيًا على الأقل) على ترجمة رمز بايثون 2 إلى بايثون 3.

تم تحديد نهاية عمر بايثون 2.7 في البداية في عام 2015 ثم أُجل إلى عام 2020 خشية عدم إمكانية نقل مجموعة كبيرة من التعليمات البرمجية الموجودة بسهولة إلى بايثون 3.

في يناير 2019، انتخبت نواة بايثون النشطة من المطورين بريت كانون، نيك كوغلان، باري وارسو، كارول فايلينغ وفان روسوم لتشكيل الأعضاء الخمسة "المجلس التوجيهي" لقيادة المشروع.

مميزات بايثون

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

دعم للبرمجة الوظيفية

زيادة على ذلك، فتصميم بايثون يقدم بعض الدعم للبرمجة الوظيفية في تنطقيد ليسب. فلدى بايثون وظائف filter ، reduce ، map. كما تتوفر على سرد الفهم والقواميس والمجموعات وتعبيرات المولد. تحتوي المخطة القياسية على وحدتين (itertools وfunctools) التي تنفذ أدوات وظيفية مستعارة من Haskell وStandard ML.

سهلة التفهم

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

حرة ومفتوحة المصدر

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

لغة برمجة عالية المستوى

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

محمولة

نظرا لطبيعتها كبرمجية مفتوحة المصدر، تعمل الكثير من المنصات. جميع ما تخطه من برامج بايثون يمكن حتى يعمل على أي من هذه المنصات دون حتى يحتاج ذلك أي تغييرات على الإطلاق إذا كنت دقيقا بما فيه الكفاية لتجنب أي خصائص تعتمد على نظام بعينه. يمكنك استخدام بايثون على لينكس، ويندوز، فري بي‌إس‌دي، ماكينتوش، سولاريس، OS/2، Amiga، AROS، AS/400، BeOS، OS/390، z/OS، Palm OS، QNX، VMS، Psion، Acorn RISC OS، VxWorks، PlayStation، Sharp Zaurus، Windows CE وحتى الحاسوب الكفي.

كائنية التوجه

تدعم بايثون البرمجة الإجرائية وكذلك البرمجة الكائنية. في اللغات إجرائية التوجه، يتمحور البرنامج حول الإجراءات أوالدوال التي ليست سوى بتر من البرامج يمكن إعادة استخدامها. وفي اللغات كائنية التوجه، يتمحور البرنامج حول الكائنات التي تجمع بين البيانات والوظائف. وبايثون طريقة قوية جدا ولكن تبسيطية لعمل البرمجة الكائنية خاصة عند مقارنتها بلغات مثل سي++ أوجافا.

قابلة للامتداد

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

متعددة الاستخدامات

تعد بايثون متعددة الاستخدامات كونها لا تختص باستخدام محدد، فيمكن استخدامها بعدة مجالات منها:

  • بتطوير الويب باستخدام عدة أطر عمل مختصة أشهرهم فلاسك أوإطار جانغو.
  • تطوير قابلات المستخدم الرسومية، يتم استخدام مخطات عدة مثل مخطة كيوت (بالإنجليزية: Qt) أومخطة جتك+ (بالإنجليزية: GTK+).
  • أمن المعلومات، حيث يوجد الكثير من برمجيات الطرف الثالث التي تُصنَّع من قبل مبرمجين متفرقين حول العالم تساعد العامل بمجال أمن المعلومات على محاكاة عمليات الإختراق وصنع الأدوات المؤتمتة للعملية أوالأدوات التي تقوم بتثبيت الترقيعات الأمنية لحل العلّة المكتشفة.
  • البيانات الضخمة، بسبب قدرة بايثون على التعامل مع البيانات بشكل سلس وتحليلها ووجود الكثير من المخطات المختصة في هذا المجال مثل pandas فتعد بايثون خيار ممتاز للعاملين في هذا المجال.

يوجد الكثير من المجالات الأخرى فتدخل بايثون في جميع مجالات المستخدمة في علوم الحاسوب تقريباً فيمكن حتى استخدامها كاللغة ثانوية في المشاريع البرمجية.

فلسفة بايثون

المبادئ

لخصت فلسفة اللغة الأساسية في الوثيقة زن بايثون ( بيب 20 )، والتي تتضمن حكم مثل:

  • الجميل أفضل من القبيح.
  • الصريح أفضل من ضمني.
  • البسيط أفضل من المجمع.
  • المركب أفضل من المعقد.
  • قابلية القراءة مهمة.

شرح

  • يسعى مطوروبايثون جاهدين لتجنب التحسين السابق لأوانه، ويرفضون التسليمات للأجزاء غير الحرجة من تطبيق سي بايثون المرجعي الذي من شأنه حتى يوفر زيادات هامشية في السرعة على حساب الوضوح. فعندما تكون السرعة مهمة، يمكن لمبرمج بايثون نقل الوظائف الحرجة للوقت إلى وحدات التمديد المكتوبة بلغات مثل سي، أواستخدام باي باي، وهومترجم في الوقت المناسب. سيثون متاح أيضًا، والذي يترجم نص بايثون لنصي إلى سي ويقوم بإجراء مكالمات API مباشرة من المستوى سي إلى مترجم بايثون.
  • أحد الأهداف المهمة لمطوري بايثون هوالحفاظ على المتعة في الاستخدام. ينعكس هذا في اسم اللغة - تكريمًا لمجموعة الكوميديا البريطانية Monty Python - وفي المناهج المرحة أحيانًا للبرامج التعليمية والمواد المرجعية، مثل الأمثلة التي تشير إلى البريد العشوائي والبيض (من الرسم المشهور لمونتي بايثون ) بدلاً من ذلك من فووالبار القياسية..
  • من المستحدتاث المألوفة في مجتمع بايثون هوpythonic، والتي لها مجموعة واسعة من المعاني المتعلقة بأسلوب البرنامج. إذا القول بأن الشفرة هي pythonic يعني القول أنها تستخدم مصطلحات بايثون بشكل جيد ، وأنها طبيعية أوتُظهر طلاقة في اللغة ، وأنها تتوافق مع فلسفة بايثون البسيطة والتأكيد على سهولة القراءة. في اللقاء ، فإن التعليمات البرمجية التي يصعب فهمها أوتقرأ مثل النسخ التقريبي من لغة برمجة أخرى تسمى unpythonic .
  • غالبًا ما يُشار إلى مستخدمي بايثون والمعجبين بها، وخاصة أولئك الذين يعتبرون على دراية أوخبرة بها، باسم بايثونيستاس (Pythonistas).

استخدامات

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

لقد أُدمجت بايثون بنجاح كلغة برمجة في الكثير من التطبيقات والحزمات. وهي تستخدم بكثرة في تطبيقات التصميم ثلاثي الأبعاد مثل مايا، سوفت إيماج إكس إس آي Softimage|XSI، وبالطبع بلندر.

كما أنها تستخدم في أنظمة التشغيل المتنوعة مثل أغلب توزيعات لينكس ونظام ماك أوإس إكس.

كلغة برمجة نصية Scripting Language

  • برنامج Maya لعمل التصاميم ثلاثية الأبعاد.
  • برنامج Blender لعمل التصاميم ثلاثية الأبعاد.
  • سوفت إيماج إكس إس آي لعمل التصاميم ثلاثية الأبعاد.
  • سيفليزيشن أربعة اللعبة الإستراتيجية المعروفة.
  • Stackless Python عمل سكربتات لأشهر الألعاب الإلكترونية المعروفة مثل EVE Online، Civilization IV، Second Life.
  • ArcGIS برنامج لعمل الخرائط الجغرافية.
  • OpenOffice.org حزمة برامج مخطية مفتوحة المصدر.
  • PyMol عمل تصاميم ثلاثية الأبعاد لأغراض فهمية.
  • GIMP برنامج رسوميات مفتوح المصدر.

النحو(بناء اللغة) والدلالات

صممت بايثون لتكون لغة ذات مقروئية عالية، تنسيقها مرتب بصرياً؛ فهي عادةً ما تستخدم حدثات إنجليزية شائعة الاستخدام على حين تستخدم اللغات الأخرى علامات الترقيم. على النقيض من الكثير من اللغات الأخرى، بايثون لا تستخدم الأقواس المعقوفة { لتحديد كتل الكود (بالإنجليزية: blocks)‏، والفاصلة المنقوطة ; بعد العبارات البرمجية (بالإنجليزية: statements)‏ اختيارية. بايثون لديها استثنئات دلالية (بالإنجليزية: syntactic exceptions)‏ وحالات خاصة أقل بكثير من لغة سي C أوباسكال Pascal.

إزاحة

تستخدم بايثون الإزاحة بالفرغات (بالإنجليزية: whitespace indentation)‏ بدلاً من الأقواس المعقوفة { أوالحدثات المفتاحية (بالإنجليزية: keyword)‏ لتحديد كتل الكود (بالإنجليزية: blocks)‏. الزيادة في الإزاحة تأتي بعد بعض العبارات (بالإنجليزية: statements)‏؛ إنقاص الازاحة علامة على انتهاء الكتلة الحالية. وبالتالي، فإن البنية المرئية (بالإنجليزية: visual structure)‏ للبرنامج تمثل بدقة البنية الدلالية للبرنامج (بالإنجليزية: program's semantic structure)‏. تُسمى هذه الميزة أحيانًا قاعدة التسلل (بالإنجليزية: off-side rule)‏، والتي تشهجر فيها بعض اللغات الأخرى، ولكن في معظم اللغات، لا تحتوي الازاحة على أي معنى دلالي.

العبارات البرمجية والتحكم بالتدفق

عبارات بايثون البرمجية (بالإنجليزية: statements)‏ تضمن (من بين أمور أخرى):

  • عبارة المساواة (تأخذ اشارة المساواة=). والتي تعمل بشكل مختلف عن بقية لغات البرمجة الأمرية (بالإنجليزية: Imperative programming)‏ وهذه الألية الأساسية (تضمن طبيعة اصدارات المتغيرات الخاصة ببايثون) والتي تنير الطريق للعديد من ميزات اللغة الأخرى.

أمثلة

مثال طباعة Hello World!
#كود الطباعة في بايثون لاخراج تعبير (Hello world! )
print("Hello World!")

مثال لحساب العمر:

from datetime import * #استنادىء الكل* من مخطة الوقت والتاريخ

dob = int(input("Enter the date of birth: ")) #الطلب من المستخدم إدخال تاريخ ميلاده
#العمل على المعطيات
today = datetime.today()
year = today.year
age = int(year) - int(dob)
#طباعة عمر المستخدم
print (f"your age is: {age ")

مثال لاستخراج العدد العاملي:

# This code has been tested on Python Platform 3.4.3

def Factorial(num):
    new_num = 1
    for count in range(num،1،-1):
        new_num *= count # Multiply result by count
    return new_num
limit = 9
for n in range(0،limit+1):
    print(n،'! = ' ،Factorial(n)،sep='')
# <-- Ouput -->
#
# 0! = 1
# 1! = 1
# 2! = 2
# 3! = 6
# 4! = 24
# 5! = 120
# 6! = 720
# 7! = 5040
# 8! = 40320
# 9! = 362880

مثال لتكرار طباعه حدثةخمسة مرات:

n = raw_input('Kindly Insert a word :')
print str(n) * 5

كيف تشغل برنامج مكتوب بلغة بايثون

بما حتى لغة بايثون نصية، فإنه يتوجب عليك حتىقد يكون لديك مفسر اللغة فقط لتشغيل البرنامج، وللحصول على المفسر امضى إلى مسقط لغة بايثون، ونزل المفسر حسب النظام الذي تعمل عليه بطبيعة الحال لكتابة برنامج بايثون ستحتاج إلى محرر نصوص ثم حفظ الملف بلاحقة py. بعد ذلك ادخل على سطر الأوامر واخط:>> python program.py بحيث program اسم الملف، وللتعامل مباشرة مع محث لغة بايثون، اخط في سطر الأوامر :>> python ولكتابة أول برنامج لك، اخط : >>> print ' Hello World' بعد كتابتك لأول برنامج لك بواسطة بايثون، ستعهد بنفسك مدى سهولة بايثون وقوتها.

انظر أيضا

  • بيب
  • تويستد (إطار عمل)

المراجع

  1. ^ Historique et licence — تاريخ الاطلاع: 19 أغسطس 2016
  2. ^ https://docs.python.org/3/license.html — تاريخ الاطلاع: ثلاثة يوليو2019
  3. ^ https://docs.python.org/3/license.html
  4. ^ https://docs.python.org/3/license.html — تاريخ الاطلاع: 19 أغسطس 2016
  5. ^ Python 3.8.3 — تاريخ الاطلاع: 14 مايو2020 — تاريخ النشر: 13 مايو2020
  6. ^ Python 3.8.3 is now available — تاريخ الاطلاع: 15 مايو2020 — تاريخ النشر: 14 مايو2020
  7. ^ Python 3.9.0b1 is now available for testing — تاريخ الاطلاع: 19 مايو2020 — تاريخ النشر: 19 مايو2020
  8. ^ Python 3.9 startet in die Beta-Phase — تاريخ الاطلاع: 20 مايو2020 — تاريخ النشر: 19 مايو2020
  9. ^ https://impythonist.wordpress.com/2014/02/16/open-heart-with-guido-van-rosuuma-lost-interview-of-python-creator-part2/ — تاريخ الاطلاع: 19 أغسطس 2016
  10. ^ Why was Python created in the first place? — تاريخ الاطلاع: 22 مارس 2017 — الناشر: مؤسسة برمجيات بايثون
  11. ^ An Introduction to Python for UNIX/C Programmers
  12. ^ Classes The Python Tutorial — الناشر: مؤسسة برمجيات بايثون
  13. ^ Functional Programming HOWTO
  14. ^ https://api.github.com/repos/python/cpython — تاريخ الاطلاع: 29 يوليو2018
  15. ^ اخط عنوان المرجع بين علامتي الفتح <ref> والإغلاق </ref> للمرجع guttag
  16. ^ "Python Release Python 3.8.3". Python.org. اطلع عليه بتاريخ 14 مايو2020.
  17. ^ "Python 3.9.0b1". Python.org. اطلع عليه بتاريخ 19 مايو2020.
  18. ^ "PEP 483 -- The Theory of Type Hints". Python.org.
  19. ^ "Starlark Language". اطلع عليه بتاريخ 25 مايو2019.
  20. ^ "CoffeeScript". coffeescript.org.
  21. ^ "The Genie Programming Language Tutorial". اطلع عليه بتاريخ 28 فبراير 2020.
  22. ^ "Perl and Python influences in JavaScript". www.2ality.com. 24 February 2013. اطلع عليه بتاريخ 15 مايو2015.
  23. ^ Rauschmayer, Axel. "Chapter 3: The Nature of JavaScript; Influences". O'Reilly، Speaking JavaScript. اطلع عليه بتاريخ 15 مايو2015.
  24. ^ اخط عنوان المرجع بين علامتي الفتح <ref> والإغلاق </ref> للمرجع Julia
  25. ^ Ring Team (4 December 2017). "Ring and other languages". ring-lang.net. ring-lang.
  26. ^ Bini, Ola (2007). . Berkeley: APress. صفحة 3. ISBN .
  27. ^ Lattner, Chris (3 June 2014). "Chris Lattner's Homepage". Chris Lattner. اطلع عليه بتاريخ 03 يونيو2014. The Swift language is the product of tireless effort from a team of language experts، documentation gurus، compiler optimization ninjas، and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course، it also greatly benefited from the experiences hard-won by many other languages in the field، drawing ideas from Objective-C، Rust، Haskell، Ruby، Python، C#، CLU، and far too many others to list.
  28. "Why was Python created in the first place?". General Python FAQ. Python Software Foundation. اطلع عليه بتاريخ 22 مارس 2007.
  29. ^ "Ada 83 Reference Manual (raise statement)".
  30. ^ Kuchling, Andrew M. (22 ديسمبر 2006). "Interview with Guido van Rossum (July 1998)". amk.ca. مؤرشف من الأصل في 1 مايو2007. اطلع عليه بتاريخ 12 مارس 2012.
  31. "itertools — Functions creating iterators for efficient looping — Python 3.7.1 documentation". docs.python.org.
  32. ^ van Rossum, Guido (1993). "An Introduction to Python for UNIX/C Programmers". Proceedings of the NLUUG Najaarsconferentie (Dutch UNIX Users Group). CiteSeerX = 10.1.1.38.2023 10.1.1.38.2023. even though the design of C is far from ideal, its influence on Python is considerable.
  33. "Classes". The Python Tutorial. Python Software Foundation. اطلع عليه بتاريخ 20 فبراير 2012. It is a mixture of the class mechanisms found in C++ and Modula-3
  34. ^ Lundh, Fredrik. "Call By Object". effbot.org. اطلع عليه بتاريخ 21 نوفمبر 2017. replace "CLU" with "Python", "record" with "instance", and "procedure" with "function or method", and you get a pretty accurate description of Python's object model.
  35. ^ Simionato, Michele. "The Python 2.3 Method Resolution Order". Python Software Foundation. The C3 method itself has nothing to do with Python, since it was invented by people working on Dylan and it is described in a paper intended for lispers
  36. ^ Kuchling, A. M. "Functional Programming HOWTO". Python v2.7.2 documentation. Python Software Foundation. اطلع عليه بتاريخ 09 فبراير 2012.
  37. ^ Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). "PEP 255 – Simple Generators". Python Enhancement Proposals. Python Software Foundation. اطلع عليه بتاريخ 09 فبراير 2012.
  38. ^ Smith, Kevin D.; Jewett, Jim J.; Montanaro, Skip; Baxter, Anthony (2 September 2004). "PEP 318 – Decorators for Functions and Methods". Python Enhancement Proposals. Python Software Foundation. اطلع عليه بتاريخ 24 فبراير 2012.
  39. ^ "More Control Flow Tools". Python ثلاثة documentation. Python Software Foundation. اطلع عليه بتاريخ 24 يوليو2015.
  40. ^ File extension .pyo was removed in Python 3.5. See PEP 0488
  41. ^ Holth, Moore (30 March 2014). "PEP 0441 -- Improving Python ZIP Application Support". اطلع عليه بتاريخ 12 نوفمبر 2015.
  42. ^ Kuhlman, Dave. "A Python Book: Beginning Python, Advanced Python, and Python Exercises". Section 1.1. مؤرشف من الأصل (PDF) في 23 يونيو2012.
  43. ^ "About Python". Python Software Foundation. اطلع عليه بتاريخ 24 أبريل 2012. , second section "Fans of Python use the phrase "batteries included" to describe the standard library, which covers everything from asynchronous processing to zip files."
  44. Venners, Bill (13 January 2003). "The Making of Python". Artima Developer. Artima. اطلع عليه بتاريخ 22 مارس 2007.
  45. ^ van Rossum, Guido (29 August 2000). "SETL (was: Lukewarm about range literals)". Python-Dev (Mailing list). اطلع عليه بتاريخ 13 مارس 2011.
  46. ^ van Rossum, Guido (20 January 2009). "A Brief Timeline of Python". The History of Python. اطلع عليه بتاريخ 20 يناير 2009.
  47. ^ Fairchild, Carlie (12 July 2018). "Guido van Rossum Stepping Down from Role as Python's Benevolent Dictator For Life". Linux Journal. اطلع عليه بتاريخ 13 يوليو2018.
  48. ^ "Guido van Rossum Stepping Down from Role as Python's Benevolent Dictator For Life | Linux Journal". www.linuxjournal.com (باللغة الإنجليزية).
  49. ^ "Python boss Guido van Rossum steps down after 30 years". The Inquirer (باللغة الإنجليزية).
  50. ^ "PEP 8100". python. Python Software Foundation. اطلع عليه بتاريخ 04 مايو2019.
  51. ^ Kuchling, A. M.; Zadka, Moshe (16 October 2000). "What's New in Python 2.0". Python Software Foundation. اطلع عليه بتاريخ 11 فبراير 2012.
  52. ^ "Python 3.0 Release". Python Software Foundation. اطلع عليه بتاريخ 08 يوليو2009.
  53. ^ van Rossum, Guido (5 April 2006). "PEP 3000 – Python 3000". Python Enhancement Proposals. Python Software Foundation. مؤرشف من الأصل في 03 مارس 2016. اطلع عليه بتاريخ 27 يونيو2009.
  54. ^ "Automated Python 2 to ثلاثة code translation — Python Documentation". اطلع عليه بتاريخ 11 فبراير 2018.
  55. ^ "PEP 373 -- Python 2.7 Release Schedule". python.org. اطلع عليه بتاريخ 09 يناير 2017.
  56. ^ "PEP 466 -- Network Security Enhancements for Python 2.7.x". python.org. اطلع عليه بتاريخ 09 يناير 2017.
  57. ^ "PEP 8100". Python Software Foundation. اطلع عليه بتاريخ 04 مايو2019.
  58. ^ The Cain Gang Ltd. "Python Metaclasses: Who? Why? When?" (PDF). مؤرشف من الأصل (PDF) في 30 مايو2009. اطلع عليه بتاريخ 27 يونيو2009.
  59. ^ "3.3. Special method names". The Python Language Reference. Python Software Foundation. اطلع عليه بتاريخ 27 يونيو2009.
  60. ^ "PyDBC: method preconditions, method postconditions and class invariants for Python". اطلع عليه بتاريخ 24 سبتمبر 2011.
  61. ^ "Contracts for Python". اطلع عليه بتاريخ 24 سبتمبر 2011.
  62. ^ "PyDatalog". اطلع عليه بتاريخ 22 يوليو2012.
  63. ^ Hettinger, Raymond (30 January 2002). "PEP 289 – Generator Expressions". Python Enhancement Proposals. Python Software Foundation. اطلع عليه بتاريخ 19 فبراير 2012.
  64. ^ "6.5 itertools – Functions creating iterators for efficient looping". Docs.python.org. اطلع عليه بتاريخ 22 نوفمبر 2016.
  65. Peters, Tim (19 August 2004). "PEP 20 – The Zen of Python". Python Enhancement Proposals. Python Software Foundation. اطلع عليه بتاريخ 24 نوفمبر 2008.
  66. ^ Martelli, Alex; Ravenscroft, Anna; Ascher, David (2005). . O'Reilly Media. صفحة 230. ISBN .
  67. ^ "Ebeab.com". ebeab.com.
  68. ^ "General Python FAQ". Python v2.7.3 documentation. Docs.python.org. اطلع عليه بتاريخ 03 ديسمبر 2012.
  69. ^ "15 Ways Python Is a Powerful Force on the Web".
  70. ^ "8.18. pprint — Data pretty printer — Python 2.7.18rc1 documentation". docs.python.org.
  71. ^ Goodger, David. "Code Like a Pythonista: Idiomatic Python". مؤرشف من الأصل في 27 مايو2014. اطلع عليه بتاريخ 24 مارس 2009.
  72. ^ "How to think like a Pythonista".
  73. ^ "Is Python a good language for beginning programmers?". General Python FAQ. Python Software Foundation. اطلع عليه بتاريخ 21 مارس 2007.
  74. ^ نزل المفسر حسب النظام الذي تعمل عليه نسخة محفوظة 17 أبريل 2018 على مسقط واي باك مشين.

المرجع "pep0238" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "PepCite000" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-21" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "release-schedule" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-22" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-23" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "tutorial-chapter1" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-26" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-28" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "quotes-about-python" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-29" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-30" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-31" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-32" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-33" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-34" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-35" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-38" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-39" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-40" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-41" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-42" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-47" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-49" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-50" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-51" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-53" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-55" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-56" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-57" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-58" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-60" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-61" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "classy" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "pep0237" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-62" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-63" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-64" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-65" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "CPL" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-66" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-67" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-68" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-69" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-70" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-71" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-73" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-74" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-86" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-88" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-89" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-90" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-91" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-93" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-94" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-95" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "linuxdevcenter" المذكور في <references> غير مستخدم في نص الصفحة.
المرجع "AutoNT-99" المذكور في <references> غير مستخدم في نص الصفحة.

المرجع "AutoNT-100" المذكور في <references> غير مستخدم في نص الصفحة.

وصلات خارجية

  • المسقط الرسمي
  • بايثون على مشروع الدليل المفتوح

المصادر

  • "Python for Artificial Intelligence". Wiki.python.org. 19 July 2012. مؤرشف من الأصل في 01 نوفمبر 2012. اطلع عليه بتاريخ 03 ديسمبر 2012.
  • Paine, Jocelyn, المحرر (August 2005). "AI in Python". AI Expert Newsletter. Amzi!. مؤرشف من الأصل في 26 مارس 2012. اطلع عليه بتاريخ 11 فبراير 2012.
  • "PyAIML 0.8.5 : Python Package Index". Pypi.python.org. اطلع عليه بتاريخ 17 يوليو2013.
  • Russell, Stuart J. & Norvig, Peter (2009). Artificial Intelligence: A Modern Approach (الطبعة 3rd). Upper Saddle River, NJ: Prentice Hall. ISBN .

قراءة معمقة

  • Downey, Allen B. (May 2012). Think Python: How to Think Like a Computer Scientist (الطبعة Version 1.6.6). ISBN .
  • Hamilton, Naomi (5 أغسطس 2008). "The A-Z of Programming Languages: Python". Computerworld. مؤرشف من الأصل في 29 ديسمبر 2008. اطلع عليه بتاريخ 31 مارس 2010.
  • Lutz, Mark (2013). Learning Python (الطبعة 5th). O'Reilly Media. ISBN .
  • Pilgrim, Mark (2004). . Apress. ISBN .
  • Pilgrim, Mark (2009). Dive Into Python 3. Apress. ISBN .
  • Summerfield, Mark (2009). Programming in Python 3 (الطبعة 2nd). Addison-Wesley Professional. ISBN .
تاريخ النشر: 2020-06-02 00:02:00
التصنيفات: بايثون (لغة برمجة), اختراعات هولندية, برمجيات حرة متعددة المنصات, برمجيات متعددة المنصات, تقنية المعلومات في هولندا, لغات البرمجة التعليمية, لغات برمجة, لغات برمجة ديناميكية النمط, لغات برمجة عالية المستوى, لغات برمجة كائنية التوجه, لغات برمجة نصية, لغات برمجة وظيفية, لغات برمجة أنشئت في 1991, علم الحاسوب في هولندا, صفحات بأخطاء في المراجع, صفحات بها بيانات ويكي بيانات, صفحات بها مراجع بالإنجليزية (en), قالب أرشيف الإنترنت بوصلات واي باك, مقالات قيد التطوير, صفحات بها مراجع ويكي بيانات, صفحات تستخدم خاصية P571, صفحات تستخدم خاصية P287, صفحات تستخدم خاصية P275, صفحات تستخدم خاصية P178, صفحات تستخدم خاصية P348, صفحات تستخدم خاصية P737, صفحات تستخدم خاصية P1195, صفحات تستخدم خاصية P856, مقالات تحتوي نصا بالإنجليزية, Articles with DMOZ links, بوابة برمجة الحاسوب/مقالات متعلقة, بوابة برمجيات حرة/مقالات متعلقة, بوابة تقنية المعلومات/مقالات متعلقة, بوابة علم الحاسوب/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات, صفحات تستخدم خاصية P244, صفحات تستخدم خاصية P227, صفحات تستخدم خاصية P268

مقالات أخرى من الموسوعة

سحابة الكلمات المفتاحية، مما يبحث عنه الزوار في كشاف:

آخر الأخبار حول العالم

120 دقيقة متوسط تأخيرات القطارات بمحافظات الصعيد.. الثلاثاء 6 ديسمبر   

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:02
مستوى الصحة: 57% الأهمية: 62%

اليوم.. انتهاء الاختبار الإلكتروني للمعلمين الجدد بمحافظة الغربية

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:08
مستوى الصحة: 56% الأهمية: 64%

مصر والأمم المتحدة تحتفلان باليوم الدولي للمتطوعين

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:06
مستوى الصحة: 49% الأهمية: 54%

تحت الدف | جريدة الصباح

المصدر: جريدة الصباح - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:20:05
مستوى الصحة: 53% الأهمية: 61%

نزول أمطار مصحوبة برعد.. توقعات الطقس اليوم الثلاثاء

المصدر: تيل كيل عربي - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:20:16
مستوى الصحة: 52% الأهمية: 52%

ملثمون ينصبون كمائن للاحتجاز | جريدة الصباح

المصدر: جريدة الصباح - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:20:09
مستوى الصحة: 51% الأهمية: 64%

المحروقات تستنزف 26 ألف مليار | جريدة الصباح

المصدر: جريدة الصباح - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:20:10
مستوى الصحة: 46% الأهمية: 60%

«سكرتارية البابا شنودة».. أبزر مناصب تقلدها الانبا داود أسقف المنصورة

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:10
مستوى الصحة: 52% الأهمية: 64%

قضاة غاضبون على تعديلات وهبي | جريدة الصباح

المصدر: جريدة الصباح - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:20:07
مستوى الصحة: 49% الأهمية: 52%

وفاة الأنبا داود أسقف المنصورة   

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:15
مستوى الصحة: 58% الأهمية: 67%

الأرصاد: الطقس لطيف نهارا بارد ليلا.. والصغرى في القاهرة 14 درجة

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:13
مستوى الصحة: 46% الأهمية: 50%

القوى العاملة: تسجيل العمالة غير المنتظمة بأحد مصانع الأسمنت بسوهاج

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:11
مستوى الصحة: 51% الأهمية: 60%

حموشي يصرف منحة استثنائية لرجال ونساء الأمن الوطني

المصدر: أخبارنا المغربية - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:18:40
مستوى الصحة: 48% الأهمية: 57%

موقعة العبور الكبير | جريدة الصباح

المصدر: جريدة الصباح - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:20:03
مستوى الصحة: 60% الأهمية: 65%

تداول 20 ألف طن بضائع عامة ومتنوعة بموانئ البحر الأحمر

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:18:59
مستوى الصحة: 45% الأهمية: 57%

الأمير هاري يتحدث عن “لعبة قذرة” داخل القصر في بريطانيا

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-06 09:19:16
مستوى الصحة: 63% الأهمية: 79%

تحميل تطبيق المنصة العربية