تعلم لغة بايثون

  تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و...

 

تطوير تطبيقات باستخدام لغة بايثون
في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله.   إستخدم كوبون HRW100 للحصول على خصم 35%

بايثونتعلم لغة بايثون

  • هل أنا جاهز لتعلم لغة بايثون؟
  • ما هي لغة بايثون
  • مميزات لغة بايثون بالنسبة للمطورين
  • مميزات لغة بايثون عن باقي لغات البرمجة
  • لمن تم إعداد هذا المرجع؟

هل أنا جاهز لتعلم لغة بايثون؟

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

تعلم البرمجة للمبتدئين »

ما هي لغة بايثون

Python تكتب بايثون باللغة العربية و هي لغة برمجة عالية المستوى إبتكرها Guido Van Rossum أثناء عمله في مركز أبحاث Centrum Wiskunde & Informatica عام 1986.

عام 1991 تم نشر أول إصدار منها لتصبح في متناول الجميع.

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

بايثون تعمل على جميع و أهم أنظمة التشغيل مثل WindowsMac OSLinuxUnix إلخ.. و تعتبر من أشهر لغات البرمجة على الإطلاق.

شعار لغة بايثون:

مميزات لغة بايثون بالنسبة للمطورين

  1. لها شعبية هائلة و هناك الكثير من المراجع لمن يريد تعلمها.
  2. بسيطة و تعلمها سهل جداً مقارنةً مع غيرها من اللغات.
  3. إذا أنشأت برنامجاً باستخدام لغة بايثون فإنه يعمل على أي نظام في العالم و هذا من أهم ما يدفعك لتعلمها.
  4. في وقتنا الحالي, تعتبر من أكثر اللغات طلباً في سوق العمل, أي إذا كنت تريد دخول سوق العمل فلغة بايثون توفر لك الكثير من الفرص.
  5. إحدى أهم اللغات التي يستخدمها المهمتين بمجال أمن المعلومات و الإختراق الأخلاقي.

مميزات لغة بايثون عن باقي لغات البرمجة

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

  2. تقنياً
    تستطيع البرمجة بها حتى و لو كان حاسوبك ضعيفاً أو قديماً.

  3. سهولة القراءة و التعديل
    تعلمها سهل جداً و يمكن قراءة و تعديل الكود المكتوب فيها بسهولة.

  4. العمل على أكثر من منصة
    البرنامج الذي تبنيه بواسطة لغة بايثون يعمل على كما على أهم أنظمة التشغيل مثل WindowsMac OSLinuxUnix.

  5. كائينة التوجه
    تدعم مفهوم الكلاس, الكائن, التغليف, الوراثة إلخ..

  6. تعدد المهام
    بايثون توفر لك تقنية الـ Multithreading و التي تسمح لك بجعل برنامجك قادراً على تنفيذ عدة أوامر مع بعض و بنفس الوقت.

  7. قواعد البيانات
    بايثون توفر إنترفيسات جاهزة للتعامل مع أهم قواعد البيانات.

  8. واجهة المستخدم
    يمكن بناء تطبيقات فيها واجهة مستخدم فيها.

  9. التعامل مع لغات برمجة أخرى
    يمكنك التعامل مع لغات برمجة أخرى ( مثل CC++Java ) ضمن برنامجك المكتوب في الأساس بلغة بايثون.

  10. تعامل لغات البرمجة الأخرى مع لغة بايثون
    أغلب لغات البرمجة تدعم التعامل مع لغة بايثون, أي أنهم يتيحون لك إستخدام كود مكتوب بلغة بايثون في برامج مكتوبة في الأساس بلغات برمجة أخرى ( مثل CC++Java ).

  11. المناهج التعليمية
    العديد من المعاهد و الجامعات سواء كانت أجنبية أو عربية أصبحت تدرسها للطلاب.

لمن تم إعداد هذا المرجع؟

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

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


بايثونتهيئة بيئة تطوير برامج بلغة بايثون

  • طريقة عمل البرنامج المكتوب بلغة بايثون
  • تجهيز بيئة العمل للبرمجة بلغة بايثون
  • أول برنامج بلغة بايثون

طريقة عمل البرنامج المكتوب بلغة بايثون

بشكل عام نقوم بإنشاء ملف إمتداده 

.py
 لنضع فيه الأوامر التي سنكتبها بلغة بايثون.
بعد الإنتهاء من كتابة الأوامر, نحتاج إستدعاء مشغّل لغة بايثون Python Interpreter ) حتى يتم تنفيذ الأوامر الموضوعة في الملف سطراً تلو الآخر كما في الصورة التالية.

الكود الذي تقوم أنت بكتابته يسمى Source Code.

لتشغيل هذا الكود يجب أن يتم إرساله إلى مفسّر لغة بايثون Python Interpreter ).
المفسّر بدوره يحتوي على مترجم كود البايثون Compiler ) و مشغل كود البايثون Virtual Machine ).

المترجم مهمته تحويل كود البايثون إلى كود يفهمه الكمبيوتر يسمى Byte Code ) و هنا يتم إنشاء نسخة جديدة من الملف بلغة الكمبيوتر إمتدادها 

.pyc
.

بعدها يقوم مشغّل الكود بتحويل الـ Byte Code لبرنامج عادي يفهمه نظام التشغيل سواء كانWindows, Linux, MacOS.


مصطلحات تقنية

  • Source Code: تعني الكود أو الشفرة المصدرية, و يقال لها أيضاً سورس كود.
  • Byte Code: الكود الذي تفهمه الآلة و هنا تجد أن الكود كله يتألف من رقمين و هما: 0 و 1.
  • Compiler: يسمى مترجم الكود. فعلياً هو برنامج يحول الكود المكتوب بلغة بايثون إلى Byte Code.
  • Virtual Machine: هو البرنامج الذي يشغل الـ Byte Code كأي برنامج على نظام التشغيل.
  • OS: إختصار لـ Operating System و التي تعني أي نظام تشغيل مثل Windows, Linux, MacOS.

تجهيز بيئة العمل للبرمجة بلغة بايثون

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


هنا وضعنا خطوات تحميل و تنصيب لغة بايثون.

شاهد الخطوات »


هنا وضعنا خطوات تحميل برنامج PyCharm و إنشاء مشروع جديد فيه و تشغيله.
إنتبه: عليك إتباع هذه الخطوات في كل مرة تريد فيها تجربة الكود على الكمبيوتر.

شاهد الخطوات »

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

في المثال التالي سنقوم بإنشاء برنامج مهمته فقط طباعة الجملة 

Hello World!
.

مثال

Test.py
print("Hello World!")

سنحصل على النتيجة التالية عند التشغيل.

Hello World!

ملاحظة

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

أسلوب كتابة الكود

  • مبادئ كتابة الكود في بايثون
  • الأحرف المستخدمة في وضع الأسماء في بايثون
  • الكلمات المحجوزة في بايثون
  • قواعد ترتيب الكود في بايثون
  • حل مشكلة إستخدام زر الـ TAB في بايثون
  • تحويل كل TAB موجودة في ملف البايثون إلى 4 مسافات فارغة
  • أمثلة حول طريقة كتابة الكود في بايثون

مبادئ كتابة الكود في بايثون

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


Case Sensitivity

Case Sensitivity تعني أن لغة البرمجة تميز بين الأحرف الكبيرة و الأحرف الصغيرة.

بايثون تعامل الأسماء التي نستخدمها بتأني سواء كنا نضع هذه الأسماء للمتغيرات, الدوال, الكلاسات, الكائنات إلخ.
مثال: 

note
 و 
Note
 ليسوا شيئاً واحداً.



إسم الكلاس

دائماً إبدأ إسم الكلاس بحرف كبير و في حال كان إسم الكلاس يتألف من أكثر من كلمة, إجعل أول حرف من كل كلمة كبيراً.

أمثلة

في حال كان إسم الكلاس يتألف من كلمة واحدة.

class First:

في حال كان إسم الكلاس يتألف من أكثر من كلمة.

class FirstPythonClass:


إسم المتغير

إستخدم الأحرف الصغيرة عند وضع أسماء للمتغيرات و في حال كان إسم المتغير يتألف من أكثر من كلمة قم بوضع 

_
 بين كل كلمتين.

أمثلة

في حال كان إسم المتغير يتألف من كلمة واحدة.

average = 10

في حال كان إسم المتغير يتألف من أكثر من كلمة.

total_score = 20


إسم الدالة

إستخدم الأحرف الصغيرة عند وضع أسماء للدوال و في حال كان إسم الدالة يتألف من أكثر من كلمة قم بوضع 

_
 بين كل كلمتين.

أمثلة

في حال كان إسم الدالة يتألف من كلمة واحدة.

def display():

في حال كان إسم الدالة يتألف من أكثر من كلمة.

def display_user_info():


التعليقات

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

لتضع تعليق, ضع الرمز 

#
 ثم أكتب بعده ما شئت.

تذكر: أنت لست مجبراً على وضع تعليقات في برامجك. و لكننا ننصحك بوضع تعليقات دائماً حتى تساعدك في فهم الكود الذي كتبته.

مثال

# هذا تعليق يتألف من سطر واحد و هو لا يؤثر أبداً على الكود الموضوع
# هذا تعليق آخر.. كما تلاحظ, يمكنك وضع العدد الذي تريده من التعليقات

ملاحظة: يمكن وضع تعليقات بطرق أخرى في بايثون, لكن مطوري لغة بايثون في موقعهم الرسمي ينصحوا بإعتماد هذا الأسلوب فقط في وضع التعليقات.



كتابة أكثر من أمر واحد على نفس السطر

إفتراضياً, بايثون تعتبر أن كل أمر يكتب على سطر واحد.
إذا أردت كتابة أكثر من أمر على نفس السطر قم بوضع فاصلة منقوطة 

;
 بين كل أمرين و هكذا سيفهم مترجم لغة بايثون أن السطر عليه أكثر من أمر.

مثال

هنا قمنا بوضع ثلاث أوامر على سطر واحد. فعلياً, كل أمر هنا عبارة عن تعريف متغير و إعطائه قيمة.

x = 1; y = 2; z = 3


كتابة أمر واحد على أكثر من سطر

إذا أردت كتابة أمر واحد على أكثر من سطر قم بوضع الرمز 

\
 في نهاية كل سطر و هكذا سيفهم مترجم لغة بايثون أن الأمر يتألف من أكثر من سطر.

المثال الأول

Test.py
# هنا قمنا بتعريف ثلاث متغيرات
item_1 = 10
item_2 = 20
item_3 = 30
# الثلاث أسطر التالية عبارة عن أمر واحد
# total و وضع الناتج في المتغير item_3 و item_2 و item_1 إذا هنا سيتم جمع قيم المتغيرات
total = item_1 + \
item_2 + \
item_3
# total هنا قمنا بعرض قيمة المتغير
print("total contains:", total)

سنحصل على النتيجة التالية عند التشغيل.

total contains: 60

ملاحظة: الجمل التي تحتوي على الرموز 

[]
 أو 
()
 أو 
{}
 يمكن كتابتها مباشرةً على عدة أسطر. أي لا تحتاج 
\
 في نهاية كل سطر.

المثال الثاني

هنا قمنا بتعريف مصفوفة من النصوص.

Test.py
# الأربعة أسطر التالية عبارة عن أمر واحد
seasons = ['Autumn',
'Winter',
'Spring',
'Summer']
# seasons هنا قمنا بعرض القيم المخزنة في المصفوفة
print("Seasons contains:", seasons)

سنحصل على النتيجة التالية عند التشغيل.

Seasons contains: ['Autumn', 'Winter', 'Spring', 'Summer']

الأحرف المستخدمة في وضع الأسماء في بايثون

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


قواعد إلزامية عند إعطاء الأسماء

  1. الـ Identifiers يجب أن يبدأوا بحرف كبير بين 
    A-Z
     أو حرف صغير بين 
    a-z
     أو الشحطة 
    _
    .
  2. يمنع إستخدام أي كلمة من الكلمات المحجوزة Keywords ).
  3. لا تنسى أن بايثون تطبق مبدأ الـ Case Sensitive.

ركز على أول حرف فقط

أمثلة للأسماء التي يسمح باستخدامها: Harmash , name , _number

أمثلة للأسماء التي يمنع استخدامها: 1st , -cash , @user

الكلمات المحجوزة في بايثون

جميع الكلمات التالية محجوزة للغة بايثون, أي لا يمكن إستخدامها كـ Identifiers.

and
assert
break
class
continue
def
del
elif
else
except
exec
False
finally
for
from
global
if
import
in
is
lambda
None
nonlocal
not
or
pass
print
raise
return
True
try
while
with
yield

قواعد ترتيب الكود في بايثون

في البداية إذا كنت تستخدم برنامج PyCharm فإنه سيقوم بتنبيهك إذا خالفت أي قاعدة من قواعد كتابة الكود الإجبارية في بايثون.
قواعد كتابة الكود في بايثون هي التالية:

  • لا تقم بإضافة أي مسافة فارغة باستخدام الزر TAB لأن المسافة التي يعطيها هذا الزر غير مسموح إستخدامها في لغة بايثون.
  • إستخدم 4 مسافات فارغة Space عند وضع الكود بشكل متداخل.
  • ضع سطر فارغ على الأقل بين السطر الذي تم فيه تعريف الكلاس و الدوال المعرفة بداخله.
  • ضع سطر فارغ على الأقل بين كل دالتين.
  • ضع سطر فارغ بين كل إثنين بلوك تضيفهما بداخل الدوال.
  • ضع مسافة فارغة حول جمل التحكم و جمل الشرط.
  • عند وضع التعليقات يفضل إستخدام الرمز # في بداية كل سطر حتى و إن كان التعليق يتألف من عدة أسطر.
  • عدد الأحرف القصوى التي يمكن وضعها في كل سطر هو 79 حرف.

مصطلحات تقنية

  • بلوك: عبارة عن مجموعة أوامر متسلسلة منطقياً و موضوعة في مكان محدد و لا يوجد بينها أسطر فارغة.
  • Indentations: عبارة عن المسافات الفارغة التي يتم إضافتها لترتيب و تنسيق كل بلوك يتم إضافته.

حل مشكلة إستخدام زر الـ TAB في بايثون

برنامج الـ PyCharm يتيح لك إمكانية إستخدام زر الـ TAB لإضافة 4 مسافات فارغة دفعة واحدة و بدون مشاكل بشرط ضبط ذلك يدوياً.

لجعل زر الـ TAB يضيف 4 مسافات فارغة عند النقر عليه بدل إضافة مسافة كبيرة في برنامج PyCharm, قم باتباع الخطوات التالية:

  1. أنقر على S + Alt + Ctrl لتفتح صفحة الضبط.
  2. أنقر على Code Style ثم Python ثم تأكد من اختيار نفس الخصائص التي في الصورة.

تحويل كل TAB موجودة في ملف البايثون إلى 4 مسافات فارغة

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

برنامج الـ PyCharm يتيح لك إمكانية تحويل كل TAB موجودة في الكود إلى 4 مسافات فارغة دفعة واحدة و بدون مشاكل بشرط ضبط ذلك يدوياً.

لجعل كل TAB تتحول إلى 4 مسافات فارغة في برنامج PyCharm, قم باتباع الخطوات التالية:

أمثلة حول طريقة كتابة الكود في بايثون

الهدف من المثال التالي إظهار كيف يجب ترتيب كود البايثون و ليس معرفة طريقة عمله.

المثال الأول

Test.py
# قيمته 14 note هنا قمنا بتعريف متغير إسمه
note = 14
# أكبر أو تساوي 10 سيتم تنفيذ أمر الطباعة الموضوع بداخلها note هنا وضعنا شرط يعني أنه إذا كانت قيمة المتغير
if note >= 10:
print("Congratulations.. you passed the test!")
# أكبر أو تساوي 10 سيتم تنفيذ أمر الطباعة الموضوع بداخلها note هنا لنا أنه إذا لم تكن قيمة المتغير
else:
print("Sorry.. you failed the test!")

سنحصل على النتيجة التالية عند التشغيل.

Congratulations.. you passed the test!

في حال كنت تنوي وضع كل الكود السابق بداخل كلاس, يجب أن تضيف 4 مسافات فارغة قبل كل سطر.
تذكر: الهدف من المثال التالي إظهار كيف يجب ترتيب كود البايثون و ليس معرفة طريقة عمله.

المثال الثاني

Test.py
# Test هنا قمنا بتعريف كلاس إسمه
class Test:
# قيمته 14 note هنا قمنا بتعريف متغير إسمه
note = 14
# أكبر أو تساوي 10 سيتم تنفيذ أمر الطباعة الموضوع بداخلها note هنا وضعنا شرط يعني أنه إذا كانت قيمة المتغير
if note >= 10:
print("Congratulations.. you passed the test!")
# أكبر أو تساوي 10 سيتم تنفيذ أمر الطباعة الموضوع بداخلها note هنا كأننا قلنا أنه إذا لم تكن قيمة المتغير
else:
print("Sorry.. you failed the test!")

سنحصل على النتيجة التالية عند التشغيل.

Congratulations.. you passed the test!

أنواع المتغيرات

  • مفهوم المتغيرات
  • معرفة نوع المتغير
  • أنواع المتغيرات في بايثون
  • الأرقام
  • النصوص
  • القيم المنطقية
  • تخزين البيانات في List
  • تخزين البيانات في Tuple
  • تخزين البيانات في Set
  • تخزين البيانات في Dictionary
  • هل كل شيء في بايثون عبارة عن كائن؟

مفهوم المتغيرات

المتغيرات variables ) عبارة عن أماكن يتم حجزها في الذاكرة بهدف تخزين بيانات فيها أثناء تشغيل البرنامج.

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

في بايثون يجب إسناد قيمة إلى المتغير أثناء تعريفه.

المثال الأول

Test.py
var = 5 # و قيمته 5 var هنا قمنا بتعريف متغير إسمه
print(var) # var هنا قمنا بطباعة قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

5

في بايثون يمكن تعريف عدة متغيرات متساوية في القيمة في وقت واحد.

المثال الثاني

Test.py
x = y = z = 10 # 10 هنا قمنا بتعريف ثلاث متغيرات قيمتها
print('x = ', x) # x هنا قمنا بطباعة قيمة المتغير
print('y = ', y) # y هنا قمنا بطباعة قيمة المتغير
print('z = ', z) # z هنا قمنا بطباعة قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

x = 10
y = 10
z = 10

معرفة نوع المتغير

لمعرفة نوع أي متغير يمكنك إستخدام الدالة 

type()
.
تذكر: نوع المتغير في بايثون غير ثابت لأنه يتغير بشكل تلقائي على حسب نوع القيمة التي يتم تخزينها فيه.

مثال

Test.py
var = 10 # var هنا وضعنا رقم في المتغير
print(type(var)) # لأنها عبارة عن رقم int لاحظ أن نوعها سيكون .var هنا طبعنا نوع قيمة المتغير
var = 'harmash' # var هنا وضعنا نص في المتغير
print(type(var)) # لأنها عبارة عن نص str لاحظ أن نوعها سيكون .var هنا طبعنا نوع قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

<class 'int'>
<class 'str'>

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

تنقسم أنواع المتغيرات في بايثون إلى 7 أنواع أساسية و هي:

  • أرقام (Numbers).
  • نصوص (Strings).
  • منطقية (Booleans).
  • مصفوفات ليس لها حجم ثابت يقال لها Lists.
  • مصفوفات حجمها و قيمها ثابتة, و غير قابلة للتغيير يقال لها Tuples.
  • مصفوفات ليس لها حجم ثابت, و لا يمكن حذف قيمها, و يمكن إضافة قيم جديدة فيها يقال لها Sets.
  • جداول تخزن البيانات فيها بطريقة مفايتح (Keys) و قيم (Values) يقال لها Dictionaries.

الأرقام

عند تعريف متغير و تخزين رقم فيه, فإن مفسّر لغة بايثون سيقوم بشكل تلقائي بتحديد نوع هذا المتغير بناءاً على نوع القيمة الرقمية التي تم إسنادها إليه.
فإذا وضعت فيه عدد صحيح, يصبح نوعه 

int
. و إذا وضعت فيه عدد عشري ( أي يحتوي على فاصلة ), يصبح نوعه 
float
 و هكذا.


أنواع الأرقام في بايثون تنقسم إلى 3 أنواع كما في الجدول التالي.

النوعإستخدامهمثال
int
يستخدم لتخزين أعداد صحيحة.
x = 3
float
يستخدم لتخزين أعداد تحتوي على فاصلة عشرية.
x = 1.5
complex
يستخدم لتخزين أعداد مركبة (Complex Number) و التي غالباً ما يحتاجها المهندسون عند إجراء عمليات حاسبية معقدة.
ملاحظة: هنا يجب وضع الحرف 
J
 أو 
j
 مباشرةً بعد العدد حتى يعرف مفسّر بايثون أنك تقصد عدد مركب و ليس عدد عادي.
x = 4J

في المثال التالي قمنا بتعريف ثلاث متغيرات و كل متغير وضعنا فيه قيمة رقمية مختلفة في النوع و القيمة. بعدها قمنا بعرض نوع كل متغير منهم.

مثال

Test.py
x = 3 # قيمته عبارة عن عدد صحيح ,x هنا قمنا بتعريف متغير إسمه
y = 1.5 # قيمته عبارة عن عدد عشري ,y هنا قمنا بتعريف متغير إسمه
z = 4J # قيمته عبارة عن عدد مركب ,z هنا قمنا بتعريف متغير إسمه
print(type(x)) # x هنا طبعنا نوع قيمة المتغير
print(type(y)) # y هنا طبعنا نوع قيمة المتغير
print(type(z)) # z هنا طبعنا نوع قيمة المتغير

سنحصل على النتيجة التالية عند التشغيل.

<class 'int'>
<class 'float'>
<class 'complex'>

ملاحظة

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

النصوص

لتعريف نص في بايثون نستخدم الرمز 

'
 أو الرمز 
"
 أو الرمز 
"""
.


هل يوجد فرق بين هذه الرموز؟

بالنسبة للرمز 

'
 و الرمز 
"
 فإنه لا يوجد أي فرق بينهما. و يمكن إستخدام أي واحد منهما لتعريف نص يتألف من سطر واحد.
بالنسبة للرمز 
'''
 و الرمز 
"""
 فإنه لا يوجد أي فرق بينهما. و يمكن إستخدام أي واحد منهما لتعريف نص كبير يتألف من عدة أسطر.


في المثال التالي قمنا بتعريف ثلاث متغيرات تحتوي على قيم نصية. لاحظ أننا قمنا بتعريف كل متغيير بواسطة رمز مختلف.

المثال الأول

Test.py
# هنا قمنا بتعريف ثلاث متغيرات تحتوي على قيم نصية
name = 'Mhamad'
job = "Programmer"
message = '''This string that will span across multiple lines. No need to use newline characters for the next lines.
The end of lines within this string is counted as a newline when printed.'''
# هنا قمنا بعرض قيم المتغيرات النصية بأسلوب مرتب
print('Name: ', name)
print('Job: ', job)
print('Message: ', message)

سنحصل على النتيجة التالية عند التشغيل.

Name: Mhamad
Job: Programmer
Message: This string that will span across multiple lines. No need to use newline characters for the next lines.
The end of lines within this string is counted as a newline when printed.

في المثال التالي قمنا بتعريف نص يحتوي على نفس الرموز التي تستخدم لتعريف النصوص.

المثال الثاني

Test.py
# يحتوي على قيمة نصية text هنا قمنا بتعريف متغير إسمه
text = """In this line we print 'single quotations'
In this line we print "double quotations" """
# text هنا قمنا بعرض قيمة المتغير
print(text)

سنحصل على النتيجة التالية عند التشغيل.

In this line we print 'single quotations'
In this line we print "double quotations"

ملاحظة

هناك أساليب و دوال خاصة للتعامل مع النصوص سنشرحها في درس خاص لاحقاً في هذه الدورة.

القيم المنطقية

النوع 

bool
 يستخدم في العادة عند وضع شروط منطقية أو لمعرفة ما إذا تم تنفيذ أمر معين بنجاح أم لا.
عند إسناد القيمة 
True
 أو القيمة 
False
 إلى المتغير فإنه يصبح من النوع 
bool
.


معلومة تقنية

في الواقع القيمة 

True
 تساوي 1 و القيمة 
False
 تساوي 0.
في بايثون يفضل إستخدام الصفر و الواحد بدلاً من إستخدام القيم المحجوزة 
True
 و 
False
 عند التشييك على قيمة المتغير أو على ما سترجعه الدالة.


في المثال التالي قمنا بتعريف متغير إسمه 

check
 و أعطيناه القيمة 
True
 ثم إستخدمناه في وضع شرط.

مثال

Test.py
# True و قيمته check هنا قمنا بتعريف إسمه
check = True
# True تساوي check سيتم تنفيذ أمر الطباعة الموضوع هنا إذا كانت قيمة المتغير
if check == True:
print('check = True')
# False أي إذا كانت تساوي True تساوي check سيتم تنفيذ أمر الطباعة الموضوع هنا إذا لم تكن قيمة المتغير
else:
print('check = False')

سنحصل على النتيجة التالية عند التشغيل.

check = True

ملاحظة

بدل الأمر 

if check == True:
 كان يمكنك كتابة 
if check == 1:
 أو كتابة 
if check:
 فقط و الحصول على نفس النتيجة.

تخزين البيانات في List

الـ List عبارة عن مصفوفة حجمها غير ثابت و يمكنها تخزين قيم من مختلف الأنواع في وقت واحد.
في بايثون نستخدم الرمز 

[ ]
 لتعريف مصفوفة أحادية ( أي ذات بعد واحد ) ليس لها حجم ثابت.


في المثال التالي قمنا بتعريف 4 مصفوفات.

المثال الأول

Test.py
A = [] # هنا قمنا بتعريف مصفوفة فارغة
B = [10, 20, 30, 40, 50] # هنا قمنا بتعريف مصفوفة تحتوي على أعداد صحيحة فقط
C = ['Mhamad', 'Samer', 'Abdullah'] # هنا قمنا بتعريف مصفوفة تحتوي على نصوص فقط
D = [1, 'two', 'three', 4] # هنا قمنا بتعريف مصفوفة تحتوي على أعداد صحيحة و نصوص

في المثال التالي قمنا بتعريف مصفوفة تتألف من 4 عناصر, ثم قمنا بإعطائها 4 قيم, ثم قمنا بإضافة عنصر جديد عليها, ثم عرضنا قيمها و عدد عناصرها.

المثال الثاني

Test.py
# هنا قمنا بتعريف مصفوفة من النصوص تتألف من 4 عناصر
languages = [str] * 4
# هنا قمنا بوضع قيمة في كل عنصر فيها
languages[0] = 'Arabic'
languages[1] = 'French'
languages[2] = 'English'
languages[3] = 'Spanish'
# هنا قمنا بإضافة عنصر جديد على المصفوفة
languages.append('German')
# هنا قمنا بعرض قيم المصفوفة و عدد عناصرها
print('Stored languages:', languages)
print('Number of stored languages is:', len(languages))

سنحصل على النتيجة التالية عند التشغيل.

Stored languages: ['Arabic', 'French', 'English', 'Spanish', 'German']
Number of stored languages is: 5

ملاحظة

ستتعرف على دوال خاصة للتعامل مع الـ Lists و سبب إستخدامهم و ستتعلم طرق كثيرة للتعامل معهم في درس خاص لاحقاً في هذه الدورة.

تخزين البيانات في Tuple

الـ Tuple عبارة عن مصفوفة حجمها ثابت و قيمها غير قابلة للتغيير و يمكنها تخزين قيم من مختلف الأنواع في وقت واحد.
في بايثون نستخدم الرمز 

( )
 لتعريف مصفوفة أحادية ( أي ذات بعد واحد ) حجمها و قيمها ثابتة.


في المثال التالي قمنا بتعريف 4 مصفوفات.

المثال الأول

Test.py
A = () # هنا قمنا بتعريف مصفوفة فارغة
B = (10, 20, 30, 40, 50) # هنا قمنا بتعريف مصفوفة تحتوي على أعداد صحيحة فقط
C = ('Mhamad', 'Samer', 'Abdullah') # هنا قمنا بتعريف مصفوفة تحتوي على نصوص فقط
D = (1, 'two', 'three', 4) # هنا قمنا بتعريف مصفوفة تحتوي على أعداد صحيحة و نصوص

في المثال التالي قمنا بتعريف مصفوفة تتألف من 4 عناصر ثابتة, ثم عرضنا قيمها و عدد عناصرها.

المثال الثاني

Test.py
# هنا قمنا بتعريف مصفوفة ليس لها نوع محدد و تتألف من 4 عناصر
languages = ('Arabic', 'French', 'English', 'Spanish')
# هنا قمنا بعرض قيم المصفوفة و عدد عناصرها
print('Stored languages:', languages)
print('Number of stored languages is:', len(languages))

سنحصل على النتيجة التالية عند التشغيل.

Stored languages: ('Arabic', 'English', 'French', 'Spanish')
Number of stored languages is: 4

ملاحظة

ستتعرف على دوال خاصة للتعامل مع الـ Tuples و سبب إستخدامهم و ستتعلم طرق كثيرة للتعامل معهم في درس خاص لاحقاً في هذه الدورة.

تخزين البيانات في Set

الـ Set عبارة عن مصفوفة ليس لها حجم ثابت و قيمها غير قابلة للتغيير و يمكنها تخزين قيم من مختلف الأنواع في وقت واحد.
في بايثون نستخدم الرمز 

{ }
 لتعريف مصفوفة أحادية ( أي ذات بعد واحد ) ليس لها حجم ثابت و قيمها غير قابلة للتغيير.

في مصفوفات الـ Set يتم تخزين البيانات بشكل عشوائي و ليس بالترتيب كما تم إدخالهم, و السبب في أنه في هذا النوع من المصفوفات لا يتم إعطاء رقم Index خاص لكل عنصر.
لهذا السبب أيضاً, لا يمكنك الوصول لعنصر محدد في Set بشكل مباشر لأنه في الأساس لا يملك رقم Index.


في المثال التالي قمنا بتعريف 4 مصفوفات.

المثال الأول

Test.py
A = {} # هنا قمنا بتعريف مصفوفة فارغة
B = {10, 20, 30, 40, 50} # هنا قمنا بتعريف مصفوفة تحتوي على أعداد صحيحة فقط
C = {'Mhamad', 'Samer', 'Abdullah'} # هنا قمنا بتعريف مصفوفة تحتوي على نصوص فقط
D = {1, 'two', 'three', 4} # هنا قمنا بتعريف مصفوفة تحتوي على أعداد صحيحة و نصوص

في المثال التالي قمنا بتعريف مصفوفة تتألف من 4 عناصر ثابتة, ثم عرضنا قيمها و عدد عناصرها.

المثال الثاني

Test.py
# هنا قمنا بتعريف مصفوفة ليس لها نوع محدد و تتألف من 4 عناصر
languages = {'Arabic', 'French', 'English', 'Spanish'}
# هنا قمنا بعرض قيم المصفوفة و عدد عناصرها
print('Stored languages:', languages)
print('Number of stored languages is:', len(languages))

سنحصل على النتيجة التالية عند التشغيل.

Stored languages: ('Arabic', 'English', 'French', 'Spanish')
Number of stored languages is: 4

ملاحظة

ستتعرف على دوال خاصة للتعامل مع الـ Sets و سبب إستخدامهم و ستتعلم طرق كثيرة للتعامل معهم في درس خاص لاحقاً في هذه الدورة.

تخزين البيانات في Dictionary

عند إستخدام الـ List أو Tuple فإنك تتعامل مع عناصرهم من خلال أرقام الـ Indices.
فكرة الـ Dictionary هي وضع مفتاح لكل قيمة. عندها تصل لقيمة كل عنصر موجود من خلال المفتاح الخاص فيه.

إذاً الـ Dictionary عبارة جدول تخزن فيه البيانات بطريقة مفاتيح (Keys) و قيم (Values).
بالنسبة لنوع البيانات التي تخزنها بداخل الـ Dictionary فعندك الحرية في تخزين مفاتيح و قيم من أي نوع تريد.

في بايثون نستخدم الرمز 

{ }
 لتعريف Dictionary.


في المثال التالي قمنا بتعريف Dictionary يتألف من 5 عناصر, ثم عرضنا قيمة العنصر الثالث من خلال المفتاح الخاص فيه.

مثال

Test.py
# يتألف من 5 عناصر dictionary هنا قمنا بتعريف
dictionary = {
1: 'One',
2: 'Tow',
3: 'Three',
4: 'Four',
5: 'Five'
}
# هنا قمنا بعرض قيمة العنصر الذي يحمل المفتاح رقم 3
print(dictionary[3])

سنحصل على النتيجة التالية عند التشغيل.

Three

ملاحظة

ستتعرف على دوال خاصة للتعامل مع الـ Dictionaries و سبب إستخدامهم و ستتعلم طرق كثيرة للتعامل معهم في درس خاص لاحقاً في هذه الدورة.

هل كل شيء في بايثون عبارة عن كائن؟

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

في حال كنت تستخدم برنامج PyCharm تلاحظ أنه عند كتابة إسم أي متغير و وضع نقطة مباشرةً بعده, فإنه يظهر لك أنه يمكن إستدعاء دوال أو خصائص موجودة فيه!
لاحظ الصورة التالية.

إذاً لو لم تكن هذه المتغيرات في الحقيقة عبارة عن كائنات لما ظهر لنا أي شيء عند وضع النقطة.



التعليقات

وحدة اعلانية

الاسم

افضل موقع,1,
rtl
item
مدونة قناة هكر المغربي : تعلم لغة بايثون
تعلم لغة بايثون
https://harmash.com/tutorials/python/overview/b06c8136-8ecc-4599-8ce1-c0b86102da34_python-logo.PNG
مدونة قناة هكر المغربي
https://zakarya1998commondo.blogspot.com/2023/01/flask-django.html
https://zakarya1998commondo.blogspot.com/
https://zakarya1998commondo.blogspot.com/
https://zakarya1998commondo.blogspot.com/2023/01/flask-django.html
true
2866220628064708713
UTF-8
تحميل جميع المقالات لم يتم العثور على أي مقالات عرض الكل اقرأ المزيد رد الغاء الرد مسح بواسطة الرئيسية الصفحات مقالات عرض الكل موصى به لك LABEL ارشيف بحث كل المقالات لم يتم العثور على أي مقالة مطابقة مع طلبك الرجوع للرئيسية الاحد الاثنين الثلاثاء الاربعاء الخميس الجمعة السبت Sun Mon Tue Wed Thu Fri Sat كانون الثاني شباط آذار نيسان أيار حزيران تموز آب أيلول تشرين الأول تشرين الثاني كانون الأول Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec الأن 1 منذ دقيقة $$1$$ منذ دقائق 1 منذ ساعة $$1$$ منذ ساعات البارحة $$1$$ منذ أيام $$1$$ منذ أسابيع منذ أكثر من 5 أسابيع متابعون تتبع هذا المحتوى المميز مقفل الخطوة 1: شارك على شبكة اجتماعية الخطوة 2: انقر فوق الارتباط الموجود على شبكة التواصل الاجتماعي الخاصة بك انسخ كل الأكواد حدد كل الأكواد تم نسخ جميع الأكواد إلى الحافظة الخاصة بك لا يمكن نسخ الأكواد / نصوص, يرجى الضغط [CTRL]+[C] (or CMD+C with Mac) للنسخ