freeCodeCamp/guide/arabic/python/index.md

179 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Python
localeTitle: الثعبان
---
## ما هي بايثون؟
[بايثون](https://www.python.org) هي لغة برمجة للأغراض العامة، يتم كتابتها وتفسيرها ديناميكيًا، وتشتهر بسهولة قراءتها بالإضافة إلى اشتمالها على مبادئ تصميم رائعة.
تتميز بايثون بمجتمعها النشط، كما أن لها الكثير من المكتبات البرمجية ذات الأغراض الخاصة والتي برمجها أشخاص من مجتمع هذه اللغة، مثلاً مكتبة باي جايم التي توفر مجموعة من الوظائف من أجل برمجة الألعاب. ويمكن لبايثون التعامل مع العديد من أنواع قواعد البيانات مثل ماي إس كيو إل وغيره.
لمعرفة المزيد عن Python ، راجع هذه الصفحات على python.org:
[ما هي بايثون؟](https://www.python.org/doc/essays/blurb/)
[بيثون أسئلة وأجوبة](https://docs.python.org/3/faq/general.html) .
## Python 2 أو Python 3
* الإصدارتان متشابهتان ، وبمعرفة إحداهما يمكن التحويل للكتابة للإصدار الآخر بسهولة.
* [Python 2 أو Python 3](https://wiki.python.org/moin/Python2orPython3)
* [لن يتم الحفاظ على بايثون 2.x بعد عام 2020.](https://www.python.org/dev/peps/pep-0373/)
* 3.x قيد التطوير النشط. وهذا يعني أن جميع التحسينات التي تم إضافتها إلى المكتبة القياسية مؤخرا، على سبيل المثال ، تتوفر تلقائيا فقط في Python 3.x.
* لقد جمعت أنظمة بايثون البيئية كمية كبيرة من البرامج الجيدة على مر السنين. الجانب السلبي من كسر التوافق مع الإصدار السابق في 3.x هو أن بعض من هذا البرامج (وخاصة البرامج الداخلية في الشركات) لا يزال لا يعمل على 3.x حتى الآن.
## التثبيت
معظم أنظمة التشغيل المعتمدة على يونيكس تأتي معها نسخة مثبتة من بايثون (عادة Python 2، Python 3 في أحدثها).
استبدال إصدارة بايثون المثبتة على النظام قد يسبب مشاكل، لذا لا ينصح به. ومع ذلك ، يمكن تثبيت إصدارات مختلفة من بايثون بأمان جنبا إلى جنب مع إصدارة بايثون المثبتة على النظام. انظر [بايثون الإعداد والاستخدام](https://docs.python.org/3/using/index.html) .
لا يأتي Windows مع بايثون. يمكن العثور على برنامج التثبيت والإرشادات [هنا](https://docs.python.org/3/using/windows.html)
## مفسر بايثون
مترجم Python هو ما يستخدم لتشغيل برامج Python النصية.
إذا كان متاحًا وفي مسار البحث في Unix shell ، فمن الممكن بدء تشغيله عن طريق كتابة الأمر `python` متبوعًا باسم البرنامج النصي سيستدعي المترجم وتشغيل النص البرمجي.
`hello_campers.py`
```python
print('Hello campers!')
```
من المحطة:
`$ python hello_campers.py
Hello campers!
`
"عندما يتم تثبيت إصدارات متعددة من Python ، فإن الاتصال بها حسب الإصدار ممكن اعتمادًا على تكوين التثبيت. في بيئة مخصصة لـ Cloud9 IDE ، يمكن استدعائها مثل:
`$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ python3.5 --version
Python 3.5.1
$ python3.6 --version
Python 3.6.2
$ python3.7 --version
Python 3.7.1
`
## بايثون Interpreter الوضع التفاعلي
يمكن بدء الوضع التفاعلي عن طريق استدعاء مترجم Python باستخدام العلامة `-i` أو بدون أية وسائط.
يحتوي الوضع التفاعلي على موجه حيث يمكن إدخال أوامر Python وتشغيلها:
`$ python3.5
Python 3.5.1 (default, Dec 18 2015, 00:00:00)
GCC 4.8.4 on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello campers!")
Hello campers!
>>> 1 + 2
3
>>> exit()
$
`
## زن بيثون
يتم تضمين بعض المبادئ التي أثرت في تصميم بايثون كبيض عيد الفصح ويمكن قراءتها باستخدام الأمر داخل الوضع التفاعلي لمترجم Python:
`>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
`
## إيجابيات وسلبيات بيثون
### الايجابيات
1. لغة تفاعلية مع دعم وحدة لكل الوظائف تقريبًا.
2. المصدر المفتوح: إذن ، يمكنك المساهمة في المجتمع ، والوظائف التي طورتها للاستخدام في المستقبل ولمساعدة الآخرين
3. وهناك الكثير من المترجمين الفوريين وأجهزة الكمبيوتر المحمولة المتاحة لتجربة أفضل مثل دفتر jupyter.
#### سلبيات
1. كونها مفتوحة المصدر ، تطورت العديد من الطرق المختلفة على مدار العام لنفس الوظيفة. هذا في بعض الأحيان ، يخلق الفوضى للآخرين لقراءة شخص آخر رمز.
2. إنها لغة بطيئة. لذلك ، لغة سيئة للغاية لاستخدامها لتطوير الخوارزميات العامة.
## كابل بيانات
[بيثون موثقة جيدا](https://docs.python.org/3/) . تتضمن هذه المستندات برامج تعليمية وأدلة ومراجع ومعلومات وصفية للغة.
مرجع مهم آخر هو مقترحات تحسين بيثون ( [PEPs](https://www.python.org/dev/peps/) ). المدرجة في PEPs هو دليل الاسلوب لكتابة رمز بيثون ، [`PEP 8`](https://www.python.org/dev/peps/pep-0008/) .
## التصحيح
يمكن استخدام عبارات `print` المضمنة لتصحيح الأخطاء البسيطة:
> **... غالبًا ما تكون أسرع طريقة لتصحيح أخطاء البرنامج هي إضافة بعض عبارات الطباعة إلى المصدر: إن دورة "تحرير - اختبار - تصحيح" سريعة تجعل هذا الأسلوب البسيط فعّالاً للغاية.**
>
> \- [ملخص تنفيذي](https://www.python.org/doc/essays/blurb/)
تتضمن Python أيضًا أدوات أكثر فاعلية لتصحيح الأخطاء ، مثل:
* وحدة [_تسجيل الدخول_](https://docs.python.org/3/library/logging.html) ، [_وقطع الأشجار_](https://docs.python.org/3/library/logging.html)
* وحدة تصحيح الأخطاء ، [_pdb_](https://docs.python.org/3/library/pdb.html)
فقط لاحظ أن هذه موجودة في الوقت الحالي.
## مرحبا بالعالم!
وبالعودة إلى المستندات ، يمكننا أن نقرأ عن وظيفة [`print`](https://docs.python.org/3/library/functions.html#print) ، وهي وظيفة [_مدمجة في_](https://docs.python.org/3/library/functions.html) [مكتبة Python القياسية](https://docs.python.org/3/library/index.html) .
`print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
`
يتم سرد الوظائف المضمنة بترتيب أبجدي. يتبع الاسم قائمة متقابلة بالمعلمات الرسمية مع القيم الافتراضية الاختيارية. تحت هذا هو وصف موجز للوظيفة وتعطى معلماته وأحيانا مثال على ذلك.
تستبدل وظيفة [`print`](https://docs.python.org/3/library/functions.html#print) في Python 3 بيان [`print`](https://docs.python.org/2/reference/simple_stmts.html#print) في Python 2.
`>>> print("Hello world!")
Hello world!
`
يتم استدعاء الدالة عندما يتبع اسم الدالة `()` . لعالم مرحبا! على سبيل المثال ، يتم استدعاء وظيفة الطباعة مع سلسلة كوسيطة للمعلمة الأولى. لبقية المعلمات يتم استخدام الافتراضات.
إن الوسيطة التي أطلقنا عليها دالة `print` باستخدام كائن `str` أو _سلسلة_ ، أحد أنواع بايثون [_المضمنة_](https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str) . كما أن أهم شيء عن python هو أنه لا يتعين عليك تحديد نوع البيانات أثناء إعلان متغير ، مترجم python سوف يفعل ذلك بنفسه على أساس نوع القيمة المعينة.
معلمة `objects` مسبوقة بـ `*` والتي تشير إلى أن الدالة ستأخذ عددًا عشوائيًا من الوسيطات الخاصة بهذه المعلمة.
## تريد معرفة المزيد؟
Free Code Camp لديه بعض الموارد الرائعة. تعد الويب مكانًا كبيرًا ، وهناك الكثير لاستكشافه:
* كتاب لممارس بايثون: http://anandology.com/python-practice-book/index.html
* فكر في لغة برمجة البايثون: http://greenteapress.com/thinkpython/html/index.html
* بايثون للأعمال العملية: http://pbpython.com/
* دورة أخرى: https://realpython.com/؟utm _source = fsp & utm_ medium = promo & utm\_campaign = bestresources
* عام: https://www.fullstackpython.com/
* تعلم الأساسيات: https://www.codecademy.com/learn/learn-python
* علوم الكمبيوتر باستخدام Python: https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11؟ref=hackernoon#!
* قائمة بمزيد من الموارد لتعلم python: https://github.com/vinta/awesome-python
* بيثون التفاعلية: http://interactivepython.org/runestone/static/thinkcspy/index.html
* دليل المطور لبيثون: https://devguide.python.org/