CALM/arwiki huggingface dataset:
بايثون لا تدعم التحسين الخاص الاستدعاء الذيلي أو (استمرارية الدرجة الأولى)، كما أعلن غايدو فان روسم أنه لن تدعم أبداً. ومع ذلك، يتوفر دعم أفضل للوظائف الشبيهة بالروتين المساعد في النسخة 2.5، من خلال توسيع مولدات بايثون. قبل نسخة 2.5، كانت المولدات مكررات كسولة، والتي يتم تمرير المعلومات من اتجاه واحد خارج المولد. ابتداءً من بايثون 2.5، صار من الممكن تمرير المعلومات مرة أخرى إلى دالة المولد، وبدءاً من بايثون 3.3، صار من الممكن أيضا تمرير المعلومات من خلال تعدد مستويات المكدس.
بعض تعبيرات بايثون تشبه لغات مثل سي وجافا، بينما البعض الآخر لا:
لا يمكن أن تكون العبارات جزءًا من تعبير، ل ذلك لا يمكن أن تحتوي القائمة وغيرها من الاشتمالات أو تعبيرات لامبدا (تعتبر كلها تعبيرات) على عبارات. وتبقى هناك حالة استثنائية تتمثل في أن عبارة المساواة (التعيين) مثل codice_88 لا يمكن أن تكون جزءًا من التعبير الشرطي لعبارة شرطية. وهذا يفيد في تجنب خطأ لغة سي الكلاسيكي عن غلطة في عامل التعيين codice_8 لعامل المساواة codice_43 في الشروط: إذا كان (c = 1) {...} : codice_91 صالحًا من الناحية النحوية (ولكن غالبا هو غير مقصود) كشيفرة (كود) لغة سي بالمقابل codice_92 يسبب خطأً نحوياً في بايثون.
الطرق المطبقة على الكائنات هي دوال مرتبطة بصنف الكائن. نحوياً تمثيل. طريقة (قيمة)codice_93. للطرق العادية والتجميل اللغوي للدوال من أجل صنف. طريقة (مثيل، قيمة)codice_94. طرق بايثون لديها معلمة صريحة ذات codice_95 للوصول لبيانات المثيل، على النقيض من الذات الضمنية codice_95 (أو هذه codice_97) في بعض لغات البرمجة الأخرى (مثل سي++ أو جافا أو سي-الكائنية أو روبي).
تستخدم بايثون تنويع البط ولديها نوع للكائنات ولكن ليس لديها نوع لأسماء المتغيرات. لا يتحقق من قيود النوع في وقت التجميع؛ بدلاً من ذلك، قد تفشل العمليات على كائن ما، مما يدل على أن الكائن المحدد ليس من النوع المناسب. على الرغم من تنويعها بشكل ديناميكي، بايثون منوعة بقوة، مما يمنع العمليات غير المعرّفة جيدًا (على سبيل المثال، إضافة رقم إلى سلسلة نصية) بدلاً من محاولة فهمها بشكل صامت.
تسمح بايثون للمبرمجين بتحديد أنواعهم الخاصة باستخدام الأصناف، والتي غالبًا ما تستخدم في البرمجة الكائنية. تنشأ مثيلات جديدة الأصناف عن طريق استدعاء الصنف (على سبيل المثال، codice_98 أوcodice_99)، الأصناف هي مثيلات من نوع صنف علوي (نفسها مثيل لنفسها)، مما يسمح بالبرمجة الوصفية والانعكاس.
قبل الإصدار 3.0، كان لدى بايثون نوعين من الأصناف: "الطراز القديم" و"الأسلوب الجديد". النحو لكلا الأسلوبين هو نفسه، والفرق هو ما إذا كان كائن codice_100 الصنف موروثًا، بشكل مباشر أو غير مباشر (جميع الأصناف من النمط الجديد ترث من الكائن codice_100 وهي مثيلات من النوع codice_102). في إصدارات بايثون 2 من بايثون 2.2 وما بعده، يمكن استخدام كلا النوعين من الأصناف. أزل المطورون أصناف الطراز القديم في بايثون 3.0.
الخطة طويلة المدى هي دعم التنويع التدريجي بدءاً من بايثون 3.5، تسمح اللغة نحوياً بتحديد أنواع ثابتة ولكن لا يتم التحقق منها في التنفيذ الافتراضي، سي بايثون. يدعم "المدقق التجريبي للنوع الثابت و"المسمى "mypy" التحقق من النوع في وقت التجميع.
يُستخدم في بايثون الرموز المعتادة للمعاملات الحسابية (codice_59، codice_104، codice_105، codice_39)، عامل التقسيم المكمل لأسفل (دالة الجزء الصحيح) codice_38 وعامل التقسيم مع باقي codice_67 (حيث يمكن أن يكون الباقي سالبًا، على سبيل المثال codice_109). واللغة لديها أيضًا العامل codice_40 للرفع الأسي، على سبيل المثال codice_111 وcodice_112، وعامل ضرب المصفوفة codice_41. تعمل هذه المعاملات الحسابية كما هو الحال في الرياضيات التقليدية؛ باستخدام نفس قواعد ترتيب العمليات الحسابية، يمكن أن يكون العامل ترميزاً ضمنياً (أيضاً يمكن أن يكون الرمزان codice_59 وcodice_104 أحاديين لتمثيل الأرقام الموجبة والسالبة على التوالي). ينتج عن القسمة بين الأعداد نتائج ذات فاصلة عائمة. تغيّر سلوك القسمة في بايثون بشكل كبير بمرور الوقت:
في مصطلحات بايثون، codice_39 هي القسمة الحقيقية (أو ببساطة القسمة)، وcodice_38 القسمة المكملة لأسفل. ولكن، قبل الإصدار 3.0 كان العامل codice_39 يمثل القسمة الكلاسيكية (أي الأقليدية).
التقريب نحو اللانهاية السلبية تضيف الاتساق، على الرغم من اختلافها عن معظم اللغات. على سبيل المثال، formula_1 المعادلة صحيحة دائمًا. والمعادلة codice_131 صالحة لكل من القيم الموجبة والسالبة لـ codice_132. بالمقابل، فإن الحفاظ على صحة هذه المعادلة يعني أنه في حين أن نتيجة codice_133 هي في المجال نصف المفتوح formula_2، حيث أن codice_134 هو عدد صحيح موجب، يجب أن تقع في المجال formula_2 عندما تكون codice_134 سالبة.
يوفر بايثون دالة codice_136 لتقريب العدد ذو الفاصلة العائمة إلى أقرب عدد صحيح. لفك التعقيد، يستخدم بايثون 3 التقريب لعدد زوجي: codice_137 codice_138 ناتج كليهما هو codice_139. أما الإصدارات السابقة فتستخدم تقريبًا بعيدًا عن الصفر: codice_140 هو codice_141، codice_142 هو codice_143.
تسمح بايثون بالتعبيرات البوليانية بعلاقات المساواة المتعددة بطريقة تتوافق مع الاستخدام العام في الرياضيات. على سبيل المثال: التعبير codice_144، يتحقق بايثون ما إذا كانت codice_132 أصغر من codice_134 وcodice_134 أصغر من codice_148. بعكس اللغات المشتقة من سي التي تفسر هذا التعبير بشكل مختلف: في سي، يقوم التعبير أولاً بتقييم codice_149، مما يؤدي إلى 0 أو 1، ثم تتم مقارنة هذه النتيجة مع codice_148.
تستخدم بايثون حساب تدريج الدقة الاعتباطية لجميع العمليات الصحيحة. يوفر الصنف (أو النوع) codice_151 في نموذج codice_152 أعداد عشرية بفاصلة عائمة وبدقة اعتباطية محددة مسبقاً والعديد من وسائل التقريب. ويوفر صنف codice_153 في نموذج codice_154 الدقة الاعتباطية للأعداد الكسرية.
نظرًا لسعة مكتبة بايثون للرياضيات، ومكتبة الطرف الثالث نمباي التي توسع القدرات المحلية بشكل أكبر، استخدمت بايثون بشكل متكرر كلغة نصية علمية للمساعدة في حل عدة مسائل مثل معالجة البيانات العددية والتلاعب.
ابتداءً من بايثون 2.1، لاستخدام أحرف غير الأسكي في نص البرنامج، يجب عليك تحديد ترميز شفرة المصدر بشكل صريح في بداية الوحدة، على سبيل المثال:
ولكن حتى لو اكتفيت بكتابة:
"سيفهم" بايثون ما تقصد.
تدعم بايثون الوراثة المتعددة. ابتداءً من النسخة 2.3 تدعم بايثون خوارزمية سي 3، المقتبسة من لغة البرمجة ديلان لحل مشكل ترتيب حل الطريقة. بينما استعملت خوازمية البحث المتعمق الذي يطرح مشاكل في حالة الوراثة الألماسية.
طباعة "مرحباً يا عالم!".
print("مرحباً يا عالم")
حساب العمر.
مثال لحساب العمر:
from datetime import * #استدعاء الكل* من مكتبة الوقت والتاريخ
dob = int(input("أدخل تاريخ الميلاد: ")) #يُطلب من المستخدم إدخال تاريخ ميلاده
today = datetime.today()
year = today.year
age = int(year) - int(dob)
print ("{age}:عمرك هو")
استخراج العدد العاملي.
مثال لاستخراج العدد العاملي:
def Factorial(num):
new_num = 1
for count in range(num,1,-1):
new_num *= count # ضرب النتيجة بالمحسوب
return new_num
limit = 9
for n in range(0,limit+1):
print(n, '! = ' ,Factorial(n),sep=")
تكرار طباعة كلمة 5 مرات.
مثال لتكرار طباعه كلمة 5 مرات:
n = input(':الرجاء ادخال كلمة')
print str(n) * 5
ملاحظة لبايثون 2 استعمل codice_155.
خوارزمية الترتيب السريع.
كمثال غير بديهي يمكن اعتبار خوارزمية الترتيب السريع كمثال مختصر كالتالي:
def quicksort(list):
if len(list) &lt;= 1:
pivotelement = list.pop()
left = [element for element in list if element &lt; pivotelement]
right = [element for element in list if element &gt;= pivotelement]
return quicksort(left) + [pivotelement] + quicksort(right)
على وجه الخصوص، هنا، يتيح تدوين القائمة للمتغيرات على اليسار واليمين تمثيلًا مضغوطًا. للمقارنة، صياغة تكرارية لهذين الخطين:
left, right = [], [] # انشاء قوائم فارغة لليمين واليسار
pivotelement = list.pop() # أخر عنصر في القائمة تاخذه كعنوان مرجعي
for element in list: # تكرار على العناصر المتبقية في القائمة...
if element &lt; pivotelement: #و مقارنة العنصر المحوري Pivot-Element
left.append(element) # إذا كان اصغر،علق القائمة اليسرى
right.append(element) # عدا ذلك، إذا لم يمكن اصغر، علّق القائمة اليمنى
هذا مجرد مثال واحد على الأعمال الكتابية التي تم توفيرها من خلال تدوين القائمة. في الواقع، في هذه الحالة تكون الصياغة التكرارية أسرع، لأنها تكرر مرة واحدة فقط في حقل "القائمة" وليس مرتين كما هو الحال في تدوين القائمة.
الواجهات الرسومية (GUI).
في بايثون يمكن إنشاء واجهة مستخدم رسومية (GUI) بسرعة مع تكينتر (كما هو الحال في لغة بيرل وتي سي إل). يوجد أيضًا مجموعة متنوعة من المغلفات الأخرى التي خدمات أخرى. كما بايثون توفر ارتباطات (bindings) لمجموعات أدوات واجهة المستخدم الرسومية مثل بي. و و وباي أوبج سي ومجموعة أدوات الضوء السريع (فاست لايت).
بالإضافة إلى تيكينتر، يحتوي بايثون أيضا على وحدة للرسم: رسوميات "السلحفاة" (Turtle graphics).
مثال لوحدة تيكينتر.
window = tk.Tk()
window.geometry("200x100")
label = tk.Label(window, text="مرحباً يا عالم")
label.pack()
def commandW():
window.destroy()
button = tk.Button(window, text="OK", command=commandW)
button.pack()
مثال لرسوميات "السلحفاة".
import turtle
from turtle import speed, reset, goto
speed(0)
turtle.x = -200
turtle.y = 200
while turtle.y != -200:
goto(turtle.x, turtle.y)
turtle.x = - turtle.x
turtle.y = - turtle.y
goto(0, 0)
turtle.y -= 5
يعتبر الكثيرون مكتبة بايثون القياسية الكبيرة واحدة من أعظم نقاط قوة بايثون، نظرا لتوفيرها أدوات تناسب العديد من المهام. كما تدعم المكتبة العديد من التنسيقات والبروتوكولات القياسية مثل امتداد البريد الإلكتروني متعدد الأغراض (MIME) وبروتوكول نقل النص الفائق (HTTP) الخاصة بتطوير تطبيقات الويب، وتدعم أيضا وحدات لإنشاء واجهات المستخدم الرسومية، والاتصال بقواعد البيانات العلائقية، وتوليد أرقام شبه عشوائية، والحساب العشري بدقة اعتباطية والمعالجة بالتعبيرات النمطية، وكذا اختبار الوحدة.
بعض أجزاء المكتبة القياسية تشمل الكثير من المميزات (على سبيل المثال، تنفيذ واجهة بوابة خادم ويب (WSGI)
codice_156 يتبع PEP 333)، ولكن أغلب الوحدات لا تحتوي على مميزات، وتتميز عن الوحدات الأخرى من خلال التعليمات البرمجية والتوثيق الداخلي وتراكيب الاختبار. بالمقابل، فإن عددًا قليلاً فقط من الوحدات يحتاج إلى تعديل أو إعادة كتابة لعمليات التنفيذ المختلفة، نظرًا لأن معظم المكتبة القياسية هي كود بايثون متعدد المنصات.
تضمّ مكتبة بايثون مجموعة من الوحدات القياسية وبعضها مدمج مع مفسّر بايثون وتتيح الوصول إلى عمليات ليست جزءًا من اللغة، ولكن الهدف منها هو إتاحة الوصول إلى العمليات الأساسية في نظام التشغيل مثل استدعاءات النظام أو زيادة كفاءة عمل المفسّر، يمكن زيادة عدد الوحدات في المكتبة القياسية بوحدات مكتوبة في سي أو بايثون.
ابتداءً من نوفمبر 2019، يحتوي مؤشر حزمة بايثون باي باي (PyPI)، وهو المستودع الرسمي لبرامج بايثون التابعة لجهات خارجية، على أكثر من 200,000 حزمة مع مجموعة واسعة من الميزات، بما في ذلك:
يستعين المطورون لتطوير بايثون بشكل كبير بعملية اقتراح تحسين بايثون (PEP)، وهي الآلية الأساسية لاقتراح ميزات جديدة رئيسية، واستطلاع آراء المجتمع حول القضايا وقرارات تصميم بايثون. كما يغطي نمط ترميز بايثون في PEP 8. ويقوم مجتمع بايثون والمجلس التوجيهي بمراجعة الاقتراحات والتعليق عليها.
يتوافق تعزيز وتحسين اللغة مع تطوير التنفيذ المرجعي سي بايثون. القائمة البريدية بايثون ديف (python-dev) هي المنتدى الأساسي لتطوير اللغة. وتُناقش حالات محددة في نظام تتبع للعلل المستضاف في bugs.python.org
. في الأصل، جرى تطوير شيفرة بايثون البرمجية في مستودع ذاتية الاستضافة بتشغيل ميركوريال، حتى يناير 2017، حيث انتقل بايثون إلى غيت هاب.
هناك ثلاثة أنواع للإصدارات العامة الجديدة لسي بايثون، ويتميز كل نوع بزيادة جزء من رقم الإصدار:
أُعلن عن بايثون 3.9 ألفا1 في نوفمبر 2019 ومع اعتماد مقياس جديد يتمثل في إصدار سنوي، ثم أعلن الإصدار الأول من 3.9 سيصدر في نوفمبر 2020.
تُصدر أيضًا العديد من النسخ بصيغة ألفا وبيتا والنسخ المرشحة كمعاينات واختبارات قبل الإصدارات النهائية. على الرغم من وجود جدول تقريبي لكل إصدار، إلا أنه غالبًا ما يتأخر في الصدور إذا لم يكن الكود جاهزًا. يراقب فريق تطوير بايثون حالة الكود من خلال تشغيل مجموعة اختبارات للوحدة الكبيرة أثناء التطوير، واستخدام نظام BuildBot للتركيب المتواصل.
المؤتمر الأكاديمي الرئيسي حول بايثون هو باي كون. هناك أيضًا برامج توجيه خاصة للبايثون، مثل باي ليديز.
بيئات التطوير.
أغلب بيئات تطوير بايثون (بما في ذلك سي بايثون) تتضمن حلقة القراءة - التقييم - الطباعة (REPL) مما يسمح لها بالعمل كمترجم سطر الأوامر حيث يقوم المستخدم بإدخال البيانات بشكل تسلسلي ويتلقى النتائج على الفور.
تضيف القشور (Shells) الأخرى، بما في ذلك IDLE وآي بايثون، قدرات إضافية مثل الإكمال التلقائي المحسّن والاحتفاظ بحالة الجلسة وتعليم الصيغة. بالإضافة إلى بيئات التطوير المتكاملة القياسية لسطح المكتب، هناك بيئات تطوير متكاملة مستندة إلى متصفحات ويب؛ سايج مات (مخصص لتطوير برمجيات بايثون العلمية والرياضية)؛ بايثون إني وير، بيئة تطوير واستضافة تستند إلى متصفح ويب؛ وبيئة تطوير كانوبي المتكاملة، وهو بيئة تطوير متكاملة تجارية لبايثون ترتكز على الحوسبة العلمية.
تنفيذ العنوان المرجعي.
سي بايثون، التنفيذ المرجعي لبايثون، مكتوب بسي، يلبي معيار سي 89 مع العديد من ميزات سي99 المحددة. يقوم بتجميع برامج بايثون في كود بايت متوسط ينفذ بعد ذلك بواسطة آلتها الافتراضية. يوزع سي بايثون مع مكتبة قياسية كبيرة مكتوبة في مزيج من سي، وبايثون. والمكتبة متاحة للعديد من المنصات، بما في ذلك ويندوز (فيستا والإصدارات الأحدث؛ نظام التشغيل ويندوز اكس بي والإصدارات الأقدم، ولكن بايثون 2.7 غير مدعوم حتى الآن ومعظم الأنظمة الشبيهة بيونيكس الحديثة). في فترة بايثون 1 و2، كانت قابلية المنصة واحدة من أولى أولوياتها، حيث كانت تدعم حتى في إم إس وأو إس/2، ولكن حاليا، انخفض الدعم للعديد من المنصات.
تنفيذات أخرى.
باي باي هو تنفيذ سريع، يوفر ترجمة في الوقت المناسب، متوافق مع بايثون 2.7 وبايثون 3.6. وهو أسرع من سي بايثون بالمقابل، فهو لا يدعم العديد من المكتبات المكتوبة بلغة ببايثون.
ستاكليس بايثون، انشقاق معروف لسي بايثون، ينفذ الخيوط الدقيقة دون استعمال رصة ذاكرة سي. مما يسمح بالبرامج المتزامنة بنطاق واسع.
مايكروبايثون وسيركويت بايثون هي متغيرات لبايثون 3 محسنة للتحكم الدقيق وهذا يشمل ليجو مايندستورمز اي في 3.
تنفيذات غير مدعومة.
طورت برامج تجميع بايثون آنية أخرى، ولكنها الآن غير مدعومة:
المحولات البرمجية إلى لغات أخرى.
توجد العديد من المحولات البرمجية لبايثون إلى لغات أخرى كائنية عالية المستوى، إما بواسطة بايثون غير مقيد، أو مجموعة فرعية مقيدة من بايثون، أو بواسطة لغة مشابهة لبايثون كلغة مصدر:
قورن أداء مختلف تنفيذات بايثون على عبء عمل غير عددي (التوافقية) في أورو سي باي 13. ثم قيس أداء بايثون مقارنة بلغات البرمجة الأخرى من خلال لعبة معايير لغة الكمبيوتر.
مولدات وثائق واجهة برمجة التطبيقات.
تتضمن مولدات واجهة برمجة التطبيقات (API) مايلي:
بايثون للهواتف الذكية.
بايثون ليست مناسبة ومحسنة لتطوير الهواتف المحمولة مع ذلك، فإن إصدارات بايثون 2.5 و2.6 متوافقة مع الآيفون بعد تفعيل كسر الآي أو إس في الإعدادات وهواتف الأندرويد بفضل تطبيق إس إل فور (SL4) أي الذي يوفر إمكانية برمجة بعض الواجهات الرسومية بفضل الدالة "android" ;إمكانية إرسال رسائل قصيرة، تشغيل الكاميرا، و هز الهاتف كما هو مبين أسفله.
droid = android.Android() # عميل مرتبط بخادم محلي لإس إل فور أي
# للتحكم بهاتف آخر بعنوان 192.168.0.5، وإس إل فور أي في منفذ 9887
# يكفي كتابة : android.Android('192.168.0.5', 9887)
droid.vibrate(2.5) # هز الهاتف (محلي أو لا) لمدة 2.5 ثانية
ابتداءا من يونيو 2012، صار من الممكن تشغيل بايثون أيضا في نظام تشغيل بلاك بيري أوس 10 بواسطة تنفيذ، في سبتمبر 2012 أصدر إصدار مخفف: "بلاكبيري تارت" مستند إلى بايثون 3.2.2.
منذ 2003، صنفت بايثون كأكثر عشر لغات برمجية شعبية في فهرس تيوبي للغات البرمجة الأكثر شعبية، وفي فبراير 2020 صنفت في المرتبة الثالثة (أي بعد جافا وسي). صنفت أيضا كلغة برمجة العام لسنة 2007، 2010 و2018. وحسب استبيان لموقع ستاك أوفرفلو فإن بايثون هي أسرع الغات نموا فقد تمكنت من تخطي العديد من لغات البرمجة.
توصلت دراسة تجريبية إلى أن لغات البرمجة النصية، مثل بايثون، هي أكثر إنتاجية من اللغات التقليدية، مثل سي وجافا، لحل مشكلات البرمجة مثل التحكم بالسلسلة والبحث في القاموس، وخلصت إلى أن استهلاك الذاكرة غالبًا "أفضل من جافا وليس أسوأ بكثير من سي أو سي++ ".
تستخدم منظمات كبيرة بايثون كويكيبيديا، جوجل، ياهو!، سيرن، ناسا، فيسبوك، أمازون، إنستغرام، سبوتيفاي وأيضا بعض الشركات الصغيرة إندستريال لايت آند ماجيك وإيتا للبرمجيات. كما أن شبكة التواصل الاجتماعي ريديت مكتوبة كليا ببايثون.
يمكن استخدام بايثون كلغة برمجة نصية لتطبيقات الويب، مثال : عبر mod wsgi لخادم ويب أباتشي. باستعمال واجهة بوابة خادم ويب، تطورت واجهة برمجة التطبيقات القياسية لتسهيل برمجة هذه التطبيقات. تدعم المنصات البرمجية لتطبيقات الويب مثل جانغو، باي لونز، بيراميد، توربو جيرز، ويب-تو-باي، تورنادو، فلاسك، بوتل وزوب المطورين في تصميم وصيانة التطبيقات المعقدة. يمكن استخدام باي جس وآيرن بايثون لتطوير جانب العميل من التطبيقات القائمة على أجاكس. يمكن استخدام إس كيو إل ألشمي كمحدد للبيانات العلائقية. تويستد هو إطار عمل يبرمج التواصل بين أجهزة الحاسوب لذا استعمل في دروب بوكس.
المكتبات البرمجية كنمباي وسي باي ومات بلوت ليب تسمح باستعمال بايثون في الحوسبة العلمية. إضافة إلى بايو بايثون وأستروباي اللتان توفران خدمات متخصصة. سايج مات هي برمجية رياضية بواجهة على شكل مفكرة قابلة للبرمجة ببايثون: تشمل أغلب مجالات الرياضيات، كالجبر، والتركيبات، والتحليل العددي، ونظرية الأعداد والتفاضل والتكامل.
تمكنت بايثون من أن تصير جزءا لا يتجزأ من أغلب البرمجيات كلغة برمجة نصية، وتشمل برمجيات طريقة العناصر المنتهية مثل أباكوس، برمجية للتصميم الحدودي ثلاثي الأبعاد، ومثل فري كاد، حزم رسوم متحركة كثري دي إس ماكس، وبلندر، وسينما فور دي، ولايت وايف، وهوديني، ومايا، ومودو، أوتودسك موسيون بولدير، وسوفت إيماج إكس إس آي، وبرنامج الخدع البصرية نوك، برامج معالجة الصور ثنائي الأبعاد كبرنامج جنو لمعالجة الصور، وإنكسكايب، سكريبوس، بينت شوب برو، وبرامج التدوين الموسيقي ككابيلا. ستعمل مصحح جنو بايثون كبرتي برنت لإظهار الهياكل المعقدة كحاويات سي++. تروج إسري لبايثون كأفضل خيار لكتابة سكربتات آركجيس. كما استعملت في العديد من ألعاب الفيديو واعتمدت كأول لغة برمجة متوفرة في محرك تطبيقات جوجل، يأتي بعدها جافا وجو.
تستخدم بايثون غالبا في مشاريع الذكاء الصناعي ومشاريع تعليم الآلة بمساعدة كل من المكتبات مثل تنسرفلو، كيراس، باي تورش، ساي كيت ليرن. نظرا لأنها لغة برمجية نصية تدعم البرمجة التركيبية، بنحو بسيط، بأدوات معالجة نصية غنية، غالبًا ما تستخدم بايثون لمعالجة اللغات الطبيعية.
كما أنها مضمنة في أنظمة التشغيل المختلفة مثل أغلب توزيعات لينكس ، أميغا أو إس 4 (يستعمل بايثون 2.7)، فري بي إس دي (كحزمة)، نت بي إس دي، أوبن بي إس دي (كحزمة) وماك أو إس ويمكن استعمال بايثون على هذه الأنظمة على سطر الأوامر. العديد من إصظارات لينكس تستعمل مثبثي برامج مكتوبون ببايثون : أوبنتو تستعمل أوبكويتي،ريدهات لينكس وفيدورا يستعملان مثبث أناكوندا. أما جنتو لينكس فتستعمل بايثون في نظام إدارة حزمها، بورتاج.
تستخدم بايثون بكثافة في صناعة أمن المعلومات، بما في ذلك التحكم بالاستغلال وتطويره.
البيانات الضخمة، بسبب قدرة بايثون على التعامل مع البيانات بشكل سلس وتحليلها ووجود العديد من المكتبات المختصة في هذا المجال مثل باندا فتعد بايثون خيار ممتاز للعاملين في هذا المجال.
أغلب برمجيات شوجر لحاسوب محمول لكل طفل XO، المطورة الآن في شوجر لابز، مكتوبة ببايثون. اعتمدت حواسيب رسبري باي أحادية اللوحة بايثون لغة برمجة رئيسية للمستخدم.
ليبر أوفيس مكتوب جزئيا ببايثون، ويعتزم تعويض جافا ببايثون. منذ إصدار الإصدار الرابع في 3 سبتمبر 2017، صار موفر البرمجة النصية لبايثون ميزة أساسية للبرنامج.
في حواسيب الرقاقة الواحدة راسباري باي (مفسر بايثون) يجب في الأصل أن يكون مفسّر بذاكرة قراءة-فقط بايثون المدمج، حتى اليوم، تعد بايثون واحدة من أكثر اللغات المفضلة لـ راسباري باي، ويأتي نظام التشغيل القياسي راسبيان مع مكتبة بايثون كبيرة للتحكم في الأجهزة.
تشغيل برنامج مكتوب بلغة بايثون.
بما أن لغة بايثون نصية، فإنه يتوجب وجود مفسر للغة لتشغيل البرنامج، وللحصول عليه، يكفي تنزيله من موقع لغة بايثون وذلك حسب نظام التشغيل
يستلزم وجود محرر نصوص لكتابة برنامج بايثون حيث يُحفظ الملف بلاحقة py. بعد ذلك ادخل على سطر الأوامر واكتب:
codice_157
بحيث program اسم الملف، وللتعامل مباشرة مع محث لغة بايثون، اكتب في سطر الأوامر :
codice_158
codice_159
لغات أثرث ببايثون.
ظهرت بايثون في وقت متأخر نسبيًا ،وبذلك خضعت لتأثير العديد من لغات البرمجة الأخرى ومنها:
لغات البرمجة التي تأثرت ببايثون.
أثر تصميم وفلسفة بايثون على العديد من لغات البرمجة الأخرى:
كما قلدت لغات أخرى ممارسات تطوير بايتون. على سبيل المثال، أُستخدمت ممارسة طلب مستند يصف الأساس المنطقي، والقضايا المحيطة بتغيير اللغة (في Python، PEP) في تي سي إل، إرلانغ، وسويفت.
في تعريف الطريقة البرمجية يجب وضع المعلمة ذات ("self") التي تتوافق مع مثيل الصنف، التي يتم استدعاء طريقتها، بوضعها بشكل صريح كمعلمة. غالباً يبدو هذا الشكل غير أنيق برمجياً كما أنه ليس برمجة كائنية التوجه
.لكن ذلك ضروري لإتاحة بعض البُنى البرمجية الهامة؛ ويتناسب مع فلسفة بايثون القائلة "الصريح أفضل من المضمن".
وفي الإصدار 3.0 غالباً ما يُنتقد استدعاء تعريف الطريقة لنسخة الصنف الأساسية التي تصرح بالصنف وتتطلب مثيل.حيث يُرى أنه يتناقض مع مبدأ "لا تكرر نفسك (خطواتك)". بالمقابل، يمنع ذلك إعادة التسميات.في الأخير، حلت نقطة الخلاف في بايثون 3.0.
كما يُنتقد الافتقار إلى أمان التنويع الثابت في بايثون.
في الأنظمة ذات المعالجات متعددة الأنوية، وفي في سي بايثون، يوجد ما يسمى قفل المفسر العالمي ("Global Interpreter Lock (GIL)") الذي له أداء فعّال لتنفيذات بايثون التي يتطلب استخدامها برمجيات حاسوبية متعددة الخيوط. بيد أن هذا القيد غير موجود في جايثون وآيرن بايثون.وحتى الآن، لا توجد مخططات رسمية تحل محل قفل المفسر العالمي. بدلاً من ذلك، يوصّى باستخدام عمليات متعددة تتواصل مع بعضها البعض بدلاً من تعدد الخيوط الحاسوبية.
في التنفيذات المنتشرة، تكون سرعة التنفيذ أبطأ من سرعة العديد من اللغات المجمّعة وتستنزف الذاكرة أكثر، ولكن سرعتها مشابهة لبيرل، بي اتش بي، دارت ، وروبي. ويرجع ذلك غالبا إلى مبدأ بايثون " وضوح الكود له الأسبقية على السرعة ". تنصح بعض المواقع مثل دونالد نث وتوني هورار بعدم التحسين المبكر، لذا ظهرت مشاكل في السرعة لا يمكن حلها عن طريق تحسين كود بايثون، عوضا من ذلك تستخدم مجمعات (أو محولات) آنية مثل باي باي أو يستعان بدوال حساسة للوقت في اللغات منخفضة المستوى مثل سي أو كايثون.
ثلاثي نترو التولوين (أو بالتحديد 6،4،2-ثلاثي نترو التولوين تي إن تي)، هو مركب كيميائي وصيغته الكيميائية C6H2(NO2)3CH3.
تستعمل هذه المادة الصلبة صفراء اللون أحياناً ككاشف في التركيبات الكيميائية، ولكن أفضل استعمال له كونه مادة متفجرة مفيدة بخصائص معالجة مناسبة. يعتبر المحصول الانفجاري من التي إن تي المقياس المعياري لقوة القنابل والمتفجرات الأخرى. في الكيمياء، يستخدم التي إن تي لتوليد أملاح نقل الشحنات.
في الصناعة، ينتج التي ٍإن تي عملية ذات ثلاث خطوات. أولاً، يقام بنترتة التولوين مع خليط من حمضي الكبريتيك والنتريك لإنتاج أحادي نيترو التولوين (إم إن تي). يُفصل الإم إن تي ثم تعاد نترتته إلى ثنائي نيترو التولوين (دي إن تي). في الخطوة الأخيرة، تتم نترتة الدي إن تي إلى ثلاثي نيترو التولوين (تي إن تي) باستخدام خليط لامائي من حمض النتريك والأوليوم. يُستهلك حمض النتريك أثناء العملية التصنيعية، لكن يمكن إعادة تركيز حمض الكبريتيك المخفف وكذلك إعادة استعماله. بعد النترتة، يتم تثبيت التي إن تي بواسطة عملية تسمى السلفتة. حتى يُعامل التي إن تي الخام بمحلول سلفيت الصوديوم المائي لإزالة ايزوميرات التي إن تي الأقل ثباتاً ونواتج التفاعل الغير مرغوب فيها. مياه الشطف من الكبرتة تعرف باسم بالمياه الحمراء وهي ملوث خطير وأحد نفايات تصنيع التي إن تي.
السيطرة على أكاسيد النيتروجين في تغذية حمض النتريك مهم جداً لأن ثاني أكسيد النيتروجين الحر قد يسبب الأكسدة لمجموعة الميثيل في التولوين. هذا التفاعل إكسوثرمي للغاية ويحمل معه خطر تفاعل هارب مما يؤدي إلى انفجار.
يُنتج2،4،6-ثلاثي نيترو التولوين في المختبرات بعملية ذات خطوتين:
خليط نترجة مؤلف من حمضي النتريك والكبريتيك المركزين يُستخدم لنترتة التولوين إلى خليط من أيزوميرات أحادي وثنائي نيترو التولوين، مع التبريد للحفاظ على التحكم بدرجة الحرارة. تفصل التولوينات المنترتة بعد ذلك، وتُغسل ببيكربونات الصوديوم المخففة لإزالة الأكاسيد من النيتروجين، ثم النترجة بحرص مع خليط من حمض النتريك والكبريتيك الداخن. عند نهاية النترجة، يسخن الخليط في حوض بخار. يُفصل ثلاثي نيترو التولوين، مغسولاً بمحلول كبريتيت الصوديوم المخفف ثم يعاد بلورته من الكحول.
يعد التي إن تي أحد أكثر المتفجرات شيوعاً واستعمالاً في المجالات العسكرية والصناعية. وهو ذو اهمية جزئياً بسبب عدم حساسيته للصدمات والاحتكاك؛ مما يقلل خطر الانفجارات الغير مقصودة، مقارنة بمتفجرات أخرى حساسة مثل النيتروغليسرين. يذوب التي إن تي عند 80° م (353 كلفن)، وهذا أقل بكثير من درجة الحرارة التي ينفجر عندها، مما يسمح بصبه وكذلك خلطه مع المتفجرات الأخرى بشكل آمن.
لا يتحلل التي إن تي في الماء ولايمتصه ، مما يسمح باستخدامه بشكل فعال في البيئات الرطبة. بالإضافة إلى ذلك، فهو ثابت مقارنة بالمتفجرات العالية الأخرى.
بالرغم من توافر كتل التي إن تي بأحجام متفاوتة (مثل 250غ، 500غ، 1000غ)، إلا أنه متواجد بشكل أكثر شيوعاً في ممزوجات المتفجرات التآزرية المحتوية على نسب متفاوتة من التي إن تي بالإضافة إلى مكوناتها الأخرى. وهذه بعض الأمثلة على ممزوجات المتفجرات المحتوية على التي إن تي:
خصائصه الانفجارية.
بعد الانفجار، يتحلل تي إن تي كما يلي:
التفاعل إكسوثرمي (متسم بإطلاق الحرارة) ولكنه يحتوي على طاقة تنشيط عالية. بسبب إنتاجه للكربون، فمتفجرات التي إن تي ذات مظهر سخامي. لأن التي إن تي يحتوي على فائض من الكربون، فإن المخلوطات الانفجارية ذات المركبات الغنية بالأكسجين تنتج طاقة أكثر لكل كيلوغرام من التي إن تي وحده. خلال القرن العشرين، كان الأماتول -وهو خليط من نترات الأمونيوم و تي إن تي أحد المتفجرات العسكرية واسعة الاستخدام. يمكن تفجير تي إن تي باستعمال محرض عالي السرعة أو بواسطة الصدمات الفعالة.
لسنوات عديدة، استخدم التي إن تي كنقطة مرجعية لرمز عدم الحساسية. يملك التي إن تي تصنيف 100 على مقياس (ر.ع.ح) فيما بعد تغيرت النقطة المرجعية إلى متفجر أكثر حساسية وهو الـ"آر دي إكس" الذي يصنف بـ80 على مقياس (ر.ع.ح)
يحتوي التي إن تي على 2.8 ميغا جول من الطاقة الانفجارية لكل كيلوغرام. الحرارة الفعلية للاشتعال تساوي 14.5 ميغا جول لكل كيلوغرام، مما يتطلب تفاعل بعض الكربون في التي إن تي مع الأكسجين الجوي، الأمر الذي لا يحدث في المرحلة الأولية. الطاقة الانفجارية المستخدمة من قبل NIST تساوي 4184 جول/غ (4.184 ميغا جول/كغ). كثافة الطاقة للتي إن تي مستخدمة كنقطة مرجعية لأنواع كثيرة أخرى من المتفجرات، بما فيها الأسلحة النووية، ومحتوى الطاقة المقيس بالكيلو طن (~4.184 تيرا جول) أو الميغا طن (~4.184 بيتا جول) من مكافيئ تي إن تي.
للمقارنة، يحتوي البارود على 3 ميغا جول لكل كيلوغرام، ويحتوي الديناميت على 7.5 ميغا جول لكل كيلوغرام، ويحتوي وقود السيارات على 47.2 ميغا جول لكل كيلوغرام (إلا أن وقود السيارات يتطلب أكسدة، لذا فإن خليط وقود السيارات الأمثل والأكسجين O2 يحتوي على 10.4 ميغا جول لكل كيلوغرام).