عالية المستوى
سهلة التعلم مفتوحة المصدر قابلة للتوسيع، تعتمد أسلوب البرمجة الكائنية (OOP)
. لغة بايثون هي لغة مُفسَّرة، ومُتعدِدة الاستخدامات،
وتستخدم بشكل واسع في العديد من المجالات،
كبناء البرامج المستقلة باستخدام الواجهات الرسومية وفي تطبيقات الويب،
ويمكن استخدامها كلغة برمجة نصية للتحكم في أداء العديد من البرمجيات مثل بلندر. بشكل عام،
يمكن استخدام بايثون لعمل البرامج البسيطة للمبتدئين،
ولإنجاز المشاريع الضخمة في الوقت نفسه.
غالباً ما يُنصح المبتدؤون في ميدان البرمجة بتعلم هذه اللغة لأنها من بين أسرع اللغات البرمجية تعلماً.
موقع بايثون الرسمي
| التنميط | نمط برمجة: برمجة وظيفية، برمجة أمرية، برمجة كائنية التوجه، برمجة مهيكلة، |
|---|---|
| ظهرت في | 20 فبراير 1991 |
| كتاب عن بايثون | |
| صممها |
|
اشتق اسم بايثون من الفرقة الكوميدية البريطانية مونتي بايثون نتيجة لتأثر فان روسم بمشاهدة عروضها أثناء عمله على تطوير اللغة.
تظهر مونتي بايثون من حين لآخر في شيفرة بايثون البرمجية وثقافتها على سبيل المثال،
السبام والبيض هي المتغيرات ما وراء البنية الأكثر شيوعاً في أدب لغة بايثون عوض متغير فو وبار التقليدي.
يلاحظ أيضًا أن وثائق بايثون الرسمية تحيل إلى المشاهد القصيرة التي قدمتها فرقة مونتي بايثون.
// وتقسيم الفاصلة ا(لعائمة) /. أضافت بايثون أيضًا العامل ** من أجل الأس.
@، لغرض استخدامه من قبل المكتبات مثل نمباي لضرب المصفوفات.
:=، الذي يطلق عليه "عامل الفظّ"'walrus operator'. يقوم بتعيين القيم للمتغيرات كجزء من تعبير أكبر.
== تقارن الأعداد من حيث القيمة (-0.0==0.0 هي true)، بالمقابل في جافا تقارن عدديا بالقيمة أو الكائنات بالعنوان المرجعي. (من الممكن في جافا مقارنة القيمة بالكائنات عن طريق طريقة ()equals). معامل بايثون is يستخدم ليقارن هوية الكائنات (أي المقارنة بالعنوان المرجعي). في بايثون، المقارنات يمكن تقييدها، على سبيل المثالa <= b <= c.
and, or, not للعمليات البوليانية بدل من الرموز &&, ||, ! المستخدمة في جافا ولغة سي.
x if c else y (يختلف عن بقية اللغات الأخرى في ترتيب المعاملات من المعامل الشائع c ? x : y عن بقية اللغات المختلفة).
[1, 2, 3]، قابلة للتغيير، ولا يمكن استخدامها كمفاتيح القواميس (مفاتيح القاموس غير قابلة للتغيير في بايثون). أما التعديدات: (1, 2, 3)، فهي غير قابلة للتغيير وبالتالي يمكن استخدامها كمفاتيح القواميس، شريطة أن تكون جميع عناصر التعديد غير قابلة للتغيير. يمكن استخدام عامل + لسَلسَّلة لتعديدتان، والتي لا تُعدل محتوياتها بشكل مباشر، بل تنتج تعديدة جديدة تحتوي على عناصر التعديدتين المقدمة. وبالتالي، بالنظر إلى المتغير t الذي يساوي مبدئيًا (1, 2, 3),، فإن إجراء t = t + (4, 5)يقيِّم أولاً t + (4, 5)، والذي ينتج (1, 2, 3, 4, 5)، والتي تعين بعد ذلك إلى t، وبالتالي "تعديل محتويات"t بشكل فعال، مع التوافق مع الطبيعة الثابتة لكائنات التعديدة. ويجدر العلم إلى أن الأقواس اختيارية لمجموعة التعديدات في سياقات لا لبس فيها.
أغلب بيئات تطوير بايثون (بما في ذلك سي بايثون) تتضمن حلقة القراءة - التقييم - الطباعة (REPL) مما يسمح لها بالعمل كمترجم سطر الأوامر حيث يقوم المستخدم بإدخال البيانات بشكل تسلسلي ويتلقى النتائج على الفور. تضيف القشور (Shells) الأخرى، بما في ذلك IDLE وآي بايثون، قدرات إضافية مثل الإكمال التلقائي المحسّن والاحتفاظ بحالة الجلسة وتعليم الصيغة. بالإضافة إلى بيئات التطوير المتكاملة القياسية لسطح المكتب، هناك بيئات تطوير متكاملة مستندة إلى متصفحات ويب؛ سايج مات (مخصص لتطوير برمجيات بايثون العلمية والرياضية)؛ بايثون إني وير، بيئة تطوير واستضافة تستند إلى متصفح ويب؛ وبيئة تطوير كانوبي المتكاملة، وهو بيئة تطوير متكاملة تجارية لبايثون ترتكز على الحوسبة العلمية.
منذ 2003، صنفت بايثون كأكثر عشر لغات برمجية شعبية في فهرس تيوبي للغات البرمجة الأكثر شعبية، وفي فبراير 2020 صنفت في المرتبة الثالثة (أي بعد جافا وسي). صنفت أيضا كلغة برمجة العام لسنة 2007، 2010 و2018. وحسب استبيان لموقع ستاك أوفرفلو فإن بايثون هي أسرع الغات نموا فقد تمكنت من تخطي العديد من لغات البرمجة.
توصلت دراسة تجريبية إلى أن لغات البرمجة النصية، مثل بايثون، هي أكثر إنتاجية من اللغات التقليدية، مثل سي وجافا، لحل مشكلات البرمجة مثل التحكم بالسلسلة والبحث في القاموس، وخلصت إلى أن استهلاك الذاكرة غالبًا "أفضل من جافا وليس أسوأ بكثير من سي أو سي++ ". تستخدم منظمات كبيرة بايثون كويكيبيديا، جوجل، ياهو!، سيرن، ناسا، فيسبوك، أمازون، إنستغرام، سبوتيفاي وأيضا بعض الشركات الصغيرة إندستريال لايت آند ماجيك وإيتا للبرمجيات. كما أن شبكة التواصل الاجتماعي ريديت مكتوبة كليا ببايثون.
يمكن استخدام بايثون كلغة برمجة نصية لتطبيقات الويب، مثال : عبر mod wsgi لخادم ويب أباتشي. باستعمال واجهة بوابة خادم ويب، تطورت واجهة برمجة التطبيقات القياسية لتسهيل برمجة هذه التطبيقات. تدعم المنصات البرمجية لتطبيقات الويب مثل جانغو، باي لونز، بيراميد، توربو جيرز، ويب-تو-باي، تورنادو، فلاسك، بوتل وزوب المطورين في تصميم وصيانة التطبيقات المعقدة. يمكن استخدام باي جس وآيرن بايثون لتطوير جانب العميل من التطبيقات القائمة على أجاكس. يمكن استخدام إس كيو إل ألشمي كمحدد للبيانات العلائقية. تويستد هو إطار عمل يبرمج التواصل بين أجهزة الحاسوب لذا استعمل في دروب بوكس.
المكتبات البرمجية كنمباي وسي باي ومات بلوت ليب تسمح باستعمال بايثون في الحوسبة العلمية. إضافة إلى بايو بايثون وأستروباي اللتان توفران خدمات متخصصة. سايج مات هي برمجية رياضية بواجهة على شكل مفكرة قابلة للبرمجة ببايثون: تشمل أغلب مجالات الرياضيات، كالجبر، والتركيبات، والتحليل العددي، ونظرية الأعداد والتفاضل والتكامل. تمكنت بايثون من أن تصير جزءا لا يتجزأ من أغلب البرمجيات كلغة برمجة نصية، وتشمل برمجيات طريقة العناصر المنتهية مثل أباكوس، برمجية للتصميم الحدودي ثلاثي الأبعاد، ومثل فري كاد، حزم رسوم متحركة كثري دي إس ماكس، وبلندر، وسينما فور دي، ولايت وايف، وهوديني، ومايا، ومودو، أوتودسك موسيون بولدير، وسوفت إيماج إكس إس آي، وبرنامج الخدع البصرية نوك، برامج معالجة الصور ثنائي الأبعاد كبرنامج جنو لمعالجة الصور، وإنكسكايب، سكريبوس، بينت شوب برو، وبرامج التدوين الموسيقي ككابيلا. ستعمل مصحح جنو بايثون كبرتي برنت لإظهار الهياكل المعقدة كحاويات سي++. تروج إسري لبايثون كأفضل خيار لكتابة سكربتات آركجيس. كما استعملت في العديد من ألعاب الفيديو واعتمدت كأول لغة برمجة متوفرة في محرك تطبيقات جوجل، يأتي بعدها جافا وجو. تستخدم بايثون غالبا في مشاريع الذكاء الصناعي ومشاريع تعليم الآلة بمساعدة كل من المكتبات مثل تنسرفلو، كيراس، باي تورش، ساي كيت ليرن. نظرا لأنها لغة برمجية نصية تدعم البرمجة التركيبية، بنحو بسيط، بأدوات معالجة نصية غنية، غالبًا ما تستخدم بايثون لمعالجة اللغات الطبيعية.
كما أنها مضمنة في أنظمة التشغيل المختلفة مثل أغلب توزيعات لينكس ، أميغا أو إس 4 (يستعمل بايثون 2.7)، فري بي إس دي (كحزمة)، نت بي إس دي، أوبن بي إس دي (كحزمة) وماك أو إس ويمكن استعمال بايثون على هذه الأنظمة على سطر الأوامر. العديد من إصظارات لينكس تستعمل مثبثي برامج مكتوبون ببايثون : أوبنتو تستعمل أوبكويتي،ريدهات لينكس وفيدورا يستعملان مثبث أناكوندا. أما جنتو لينكس فتستعمل بايثون في نظام إدارة حزمها، بورتاج.
تستخدم بايثون بكثافة في صناعة أمن المعلومات، بما في ذلك التحكم بالاستغلال وتطويره.
البيانات الضخمة، بسبب قدرة بايثون على التعامل مع البيانات بشكل سلس وتحليلها ووجود العديد من المكتبات المختصة في هذا المجال مثل باندا فتعد بايثون خيار ممتاز للعاملين في هذا المجال. أغلب برمجيات شوجر لحاسوب محمول لكل طفل XO، المطورة الآن في شوجر لابز، مكتوبة ببايثون. اعتمدت حواسيب رسبري باي أحادية اللوحة بايثون لغة برمجة رئيسية للمستخدم. ليبر أوفيس مكتوب جزئيا ببايثون، ويعتزم تعويض جافا ببايثون. منذ إصدار الإصدار الرابع في 3 سبتمبر 2017، صار موفر البرمجة النصية لبايثون ميزة أساسية للبرنامج.
في حواسيب الرقاقة الواحدة راسباري باي (مفسر بايثون) يجب في الأصل أن يكون مفسّر بذاكرة قراءة-فقط بايثون المدمج، حتى اليوم، تعد بايثون واحدة من أكثر اللغات المفضلة لـ راسباري باي، ويأتي نظام التشغيل القياسي راسبيان مع مكتبة بايثون كبيرة للتحكم في الأجهزة.
يسعى مطورو بايثون جاهدين لتجنب التحسين السابق لأوانه،
ويرفضون التصحيحات للأجزاء غير الحرجة من تطبيق (تنفيذ) سي بايثون المرجعي الذي من شأنه أن يوفر زيادات هامشية في السرعة على حساب الوضوح. فعندما تكون السرعة مهمة،
يمكن لمبرمج بايثون نقل الوظائف (الدوال) الحساسة زمنياً إلى نماذج التمديد
المكتوبة بلغات مثل سي، أو باستخدام باي باي، وهو مترجم (مجمّع) آنيّ. سييثون متاح أيضًا، والذي يترجم نص بايثون لنص بلغة سي ويقوم بإجراء استدعاءات واجهة برمجة التطبيقات (API) ,
مباشرة على مستوى اللغة سي إلى مفسر بايثون.
أحد الأهداف المهمة لمطوري بايثون هو الحفاظ على المتعة في الاستخدام. ينعكس هذا في اسم اللغة - تكريمًا لمجموعة بريطانية للكوميديا السيريالية مونتي بايثون - وفي المناهج
المرحة أحيانًا للبرامج التعليمية والمواد المرجعية،
مثل الأمثلة التي تشير إلى البريد العشوائي والبيض (من الألبوم المشهور لمونتي بايثون) والاستعاضة عن ذلك بفو بار القياسية.