0% found this document useful (0 votes)
272 views46 pages

بايثون بلمسة Python

Uploaded by

coiffa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
272 views46 pages

بايثون بلمسة Python

Uploaded by

coiffa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

‫ﺗﻢ ﺗﺤﻤﻴﻞ ﺍﻟﻤﻠﻒ ﻣﻦ ﻣﻮﻗﻊ‬

‫ﺍﻟﺒﻮﺻﻠﺔ ﺍﻟﺘﻘﻨﻴﺔ‬
‫‪http://www.boosla.com‬‬
‫بايثون بلمسة‬

‫بايثون بلمسة‬

‫معدلة‬

‫‪1‬‬
‫بايثون بلمسة‬

‫محتويات الكتاب‪:‬‬
‫‪ -1‬عن الكتاب‬
‫‪ -2‬عن الكاتب‬
‫‪ -3‬الكتاب برعاية‬
‫‪ -4‬مقدمة‬
‫‪ -5‬التحضير لبيئة العمل‬
‫‪ -6‬كتابة البرنامج األول بالبايثون‬
‫‪ -7‬برنامج الترحيب‬
‫‪ -8‬التعليقات‬
‫‪ -9‬الكلمات المحجوزة في البايثون‬
‫‪ -11‬األرقام والعمليات الحسابية‬
‫‪ -11‬المتحوالت‬
‫‪ -12‬الـ ‪ Modules‬و ‪Function‬‬
‫‪ -13‬المحارف (‪)String‬‬
‫‪2‬‬
‫بايثون بلمسة‬

‫‪ -14‬أنواع البيانات في البايثون‬


‫‪ -15‬القائمة | ‪List‬‬
‫‪Tuples -16‬‬
‫‪ - -17‬القواميس | ‪Dictionary‬‬
‫‪ -18‬العبارة الشرطية ‪if‬‬
‫‪ -19‬العبارة الشرطية ‪else – elif‬‬
‫‪ -21‬حلقة ‪while‬‬
‫‪ -21‬حلقة ‪For‬‬
‫‪ -22‬عبارة ‪break‬‬
‫‪ -23‬عبارة ‪continue‬‬
‫‪ -24‬عبارة ‪Pass‬‬
‫‪ -25‬التصريح عن ‪Function‬‬
‫‪ -26‬إنشاء ‪Class‬‬
‫‪ -27‬الوراثة ‪Inheritance‬‬

‫‪3‬‬
‫بايثون بلمسة‬

‫‪4‬‬
‫بايثون بلمسة‬

‫‪ -1‬عن الكتاب‪:‬‬
‫أقدم لكم هذه الكتاب المتواضع لتعليم لغة برمجة البايثون وقد حاولت قدر‬
‫المستطاع أن يكون بسيط وخصوصا للمبتدئين الذين يجدون صعوبة في البدء‬
‫بالتعلم‪.‬‬

‫ويتناول هذا الكتاب المواضيع األساسية في لغة برمجة البايثون ‪ 3‬مع األمثلة‬
‫التوضيحية‪.‬‬

‫مالحظة‪:‬‬

‫‪ -‬جميع األكواد في الكتاب مجربة وعلى االصدار بايثون ‪. 3‬‬


‫‪ -‬في حال وجود اي سؤال أو استفسار الرجاء مراسلتي‪.‬‬

‫‪5‬‬
‫بايثون بلمسة‬

‫كتب في سوريا – دمشق بتاريخ ‪7107/2/72‬‬

‫‪ -2‬عن الكاتب‪:‬‬

‫مصطفى فرحات مبرمج ومطور تطبيقات مهتم بعدة لغات برمجة وخصوصا‬
‫البايثون ‪,‬مؤسس موقع بايثون بالعربي وهو أول موقع مختص بلغة برمجة‬
‫البايثون‪ ,‬من هواياتي التدوين ومشاركة المعلومات مع االخرين‬
‫مدونتي الرسمية‬

‫حسابي على الفيسبوك وتويتر‬

‫‪6‬‬
‫بايثون بلمسة‬

‫‪ -3‬الكتاب برعاية‪:‬‬

‫‪www.ar-python.com‬‬

‫‪7‬‬
‫بايثون بلمسة‬

‫‪ -4‬مقدمة‪:‬‬
‫‪ -‬لغة البايثون (‪:)Python Language‬‬

‫هي لغة متعددة األغراض وغرضية التوجة (‪ )OOP‬ومن اللغات العالية‬


‫المستوى‪.‬‬
‫أهم ما يميز لغة برمجة البايثون أنها سهلة للتعلم وخصوصا للمبتدئين‬
‫حيث يجد متعلموها سهولة في كتابة وقراءة الشيفرات وتحريرها‪.‬‬
‫الميزات األساسية لهذه اللغة‪:‬‬
‫‪ -1‬تعمل على الكثير من المنصات (‪.)Windows,Linux,Mac‬‬
‫‪ -2‬قابلة للتوسع والتطوير‪.‬‬
‫‪ -3‬تدعم الواجهات الرسومية (‪.)GUI Programming‬‬
‫‪ -4‬دعم التعامل مع غالبية قواعد البيانات‪.‬‬

‫‪8‬‬
‫بايثون بلمسة‬

‫مالحظة ‪:‬‬
‫‪ -‬البايثون لغة حساسة لحالة األحرف مثال‪ PROGRAM :‬تختلف عن‬
‫‪.program‬‬

‫البدء مع البايثون‪:‬‬
‫‪ -‬لتحميل اخر نسخة‪ ,‬االطالع على أحدث األخبار‪ ,‬أو تحميل الكود المصدري‬
‫قم بزيارة الموقع الرسمي للغة برمجة البايثون‪.‬‬

‫الموقع الرسمي | ‪Python Official Website‬‬

‫‪ -‬لتحميل التوثيق (‪ )Documentation‬وهو متاح بالواحق ‪Html , Pdf‬‬

‫‪Python Documenation‬‬

‫‪ -5‬التحضير لبيئة العمل‪:‬‬


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

‫‪-‬يمكن استخدام البايثون بأحد الطرق التالية‪:‬‬


‫‪9‬‬
‫بايثون بلمسة‬

‫‪ Python Shell -1‬ويتم عبرها تنفيذ األوامر سطر تلو اخر ‪.‬‬

‫‪ : IDLE GUI -2‬كتابة سكربت بايثون بطريقة متقدمة أكثر وتنفيذها‪.‬‬

‫‪ : Text Editor -3‬نستخدم فيها اي محرر نصوص يعمل على النظام وحفظ‬
‫الملفات بالالحقة ‪.py‬‬

‫اختيار الـ ‪ IDE‬المناسب‪:‬‬

‫‪: PyScripter -1‬مناسب جدا اذا كنت تستخدم نظام ويندوز‬


‫‪: Eclipse -2‬محرر الشهير مع اضافة ‪PyDev‬‬
‫‪ Netbeans -3‬تعمل على الويندوز ‪ ,‬لينوكس‪,‬ماك‬
‫‪ : python tools for visual studio -4‬اذا كنت تستخد الفيجوال ستديو‬
‫فيمكنك تحميل هذه االضافة لتضيف ميزة دعم البايثون في الفيجوال‬
‫ستديو‪.‬‬
‫‪: Eric IDE -5‬ممتاز اذا كنت من مستخدمي لينوكس‪.‬‬

‫‪10‬‬
‫بايثون بلمسة‬

‫كتابة البرنامج االول بلغة البايثون‪:‬‬ ‫‪-6‬‬


‫بعد تنصيب البايثون نذهب الى القائمة ابدا ثم كافة البرامج وننقر على البرنامج‬
‫التالي‪:‬‬

‫‪11‬‬
‫بايثون بلمسة‬

‫وبذلك تكون جاهز لكتابة أكواد البايثون‬

‫‪Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit‬‬


‫‪(Intel)] on win32‬‬
‫‪Type "copyright", "credits" or "license()" for more information.‬‬
‫>>>‬

‫البرنامج األول (برنامج الترحيب)‪:‬‬ ‫‪-7‬‬

‫نبدأ بكتابة أول برنامج لنا بلغة برمجة البايثون ‪ ,‬وهو عبارة عن برنامج يطبع عبارة‬
‫(‪ )Hello word‬وتكون الشيفرة بالشكل التالي‪:‬‬

‫)'‪print('Hello word‬‬

‫‪12‬‬
‫بايثون بلمسة‬

‫ويكون ناتج التنفيذ‬

‫‪Hello word‬‬

‫التعليقات‪:‬‬ ‫‪-8‬‬
‫كل ما يكتب بعد اشارة ‪ #‬يعتبر تعليق وسوف يقوم المفسر بتجاهله تماما‬

‫‪:‬‬ ‫مثال‬

‫‪13‬‬
‫بايثون بلمسة‬

‫‪# This is the first list‬‬

‫‪x=2‬‬

‫‪# Second line‬‬

‫‪m=5‬‬

‫كما يمكننا كتابة اكواد البايثون بسطر واحد على ان تفصل بين كل تعليمة‬
‫والتي تليها فاصلة منقوطة ;‬

‫مثال‪:‬‬

‫;)‪x = 'foo'; print(x‬‬

‫الكلمات المحجوزة في البايثون‪:‬‬ ‫‪-9‬‬


‫كما في معظم لغات البرمجة ‪ ,‬يوجد كلمات محجوزة ال يمكن استخدامها‬
‫وهي فقط محجوزة للغة البرمجة البايثون‪ ,‬يمكننا معرفة الكلمات المحجوزة‬
‫بسهولة بواسطة الكود التالي‬
‫‪:‬‬

‫‪14‬‬
‫بايثون بلمسة‬

import sys
import keyword

print ("Python version: ",


sys.version_info)

print ("Python keywords: ",


keyword.kwlist)

‫فيتم طباعة اصدار البايثون مع الكلمات المحجوزة في اللغة‬

Python version: (3, 2, 'final', 0)

Python keywords: ['and', 'assert',


'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except',
'exec', 'finally', 'for', 'from',
'global', 'if', 'import', 'in', 'is',
'lambda', 'not', 'or', 'pass',
'print', 'raise', 'return', 'try',
'while', 'yield']

:‫األرقام والعمليات الحسابية‬ -11


‫التعامل مع األرقام والعمليات األساسية هي نفسها الموجودة في االلة‬
.)‫الجمع‬,‫الطرح‬,‫ القسمة‬,‫ وهذا مثال شامل عن (الضرب‬, ‫الحاسبة‬

15
‫بايثون بلمسة‬

print(2+2)

print(4-2)

print (18/3)

print(18/7)

print(18.5/6.7)

print(9%4)

print(8%4)

print(8.75%5)

print(6*6)

print(7*7*7)

print(8**3)

print(-10**3)

4
2
:‫ناتج التنفيذ يكون كالتالي‬
6.0
2.5714285714285716
2.761194029850746
1
0
3.75
36
343
512
-1000

:‫المتحوالت‬ -11

16
‫بايثون بلمسة‬

‫كما في لغات البرمجة األخرى مثل ‪ Visual Basic ,C++,Java‬البايثون‬


‫تحتوي األنواع األساسية للمتحوالت حيث يمكن أن تكون رقمية (‪ )Integer‬أو‬
‫رقمية بفواصل ( ‪ ) Float‬أو نصية )‪. (String‬‬

‫رقمية متحوالت ‪#‬‬

‫‪x=15‬‬

‫‪x+10‬‬

‫)‪print(x‬‬

‫‪y=4‬‬

‫)‪print(x+y‬‬

‫بفاصلة رقمية متحوالت‪#‬‬

‫‪m=1.5‬‬

‫‪n=3.5‬‬

‫)‪print(m+n‬‬

‫نصية متحوالت‪#‬‬

‫"‪h="me‬‬

‫"‪l="you‬‬

‫)‪print(h‬‬

‫)‪print(l‬‬

‫ويكون الناتج كالتالي‪:‬‬

‫‪17‬‬
‫بايثون بلمسة‬

‫‪15‬‬
‫‪19‬‬
‫‪5.0‬‬
‫‪me‬‬
‫‪you‬‬

‫كما انه يتم التصريح عن متحوالت عاملة مسبوقة بالكلمة ‪ Global‬مثال‪:‬‬

‫‪global e‬‬

‫‪e=10‬‬

‫)‪print(e‬‬

‫‪18‬‬
‫بايثون بلمسة‬

‫‪ -12‬الـ ‪ Modules‬و ‪: Function‬‬


‫تقسم لغة البرمجة بايثون الى عدة ‪ Module‬حيث تحتوي كل واحدة على تنفيذ‬
‫عدة وظائف معينة مثال‪:‬‬

‫‪ : Math‬مسؤولة عن التعامل مع االرقام والعمليات الرياضية‪.‬‬

‫‪ -‬ويكون االستخدام على الشكل التالي‪:‬‬


‫‪Module.function‬‬
‫مثال‪:‬‬
‫‪math.sqrt‬‬
‫‪ -‬يتم استدعاء الـ ‪ Module‬بالعبارة ‪.Import‬‬

‫مثال‪:‬‬
‫‪19‬‬
‫بايثون بلمسة‬

print(pow(3,4))

print(abs(-12))

print(abs(6))

#--------------

import math

print(math.floor(17.6))

print(math.sqrt(81))

#Module.function

.‫كما يمكن لالختصار التصريح عن متحول واسناد له الوظيفة المطلوبة‬

:‫مثال‬

#Use variable

t=math.sqrt

print(t(9))

20
‫بايثون بلمسة‬

‫‪ -13‬المحارف (‪:)String‬‬
‫كل ما يكتب بين "‪ "..‬أو '…' يتعامل البايثون معها على انها معطيات نصية ‪.‬‬

‫مثال‪:‬‬

‫" ‪a="Ali‬‬

‫'‪b='Mohammed‬‬

‫)‪print(a‬‬

‫)‪print(b‬‬

‫)‪print(a+b‬‬

‫)" '‪print("HI 'Moustafa‬‬

‫ويكون الناتج كالتالي‪:‬‬

‫‪Ali‬‬
‫‪Mohammed‬‬
‫‪Ali Mohammed‬‬
‫'‪HI 'Moustafa‬‬

‫ولطباعة متحول رقمي مع نص نستخدم الكود التالي‪:‬‬

‫حيث استخدمنا تابع التحويل لنص )(‪Str‬‬

‫‪21‬‬
‫بايثون بلمسة‬

‫)‪mm=str(44‬‬

‫)‪print("the number is " + mm‬‬

‫فتظهر النتيجة‪:‬‬

‫‪the number is 44‬‬

‫مثال شامل‪:‬‬

‫'!‪str = 'Hello World‬‬

‫‪print‬‬ ‫)‪(str‬‬ ‫طباعتها كلمة ‪#‬‬


‫‪print‬‬ ‫)]‪(str[0‬‬ ‫طباعة أول حرف ‪#‬‬
‫‪print‬‬ ‫)]‪(str[2:5‬‬ ‫الطباعة بدءا من ‪#‬‬
‫‪print‬‬ ‫)]‪(str[2:‬‬ ‫الطباعة بالبدء ‪#‬‬
‫من‬
‫‪print‬‬ ‫)‪(str * 2‬‬ ‫طباعتها مرتان ‪#‬‬
‫‪print‬‬ ‫طباعة الكلمتين ‪(str + "TEST") #‬‬

‫ويكون الخرج كالتالي‪:‬‬

‫‪22‬‬
‫بايثون بلمسة‬

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

:‫ أنواع البيانات في البايثون‬-14

23
‫بايثون بلمسة‬

‫لغة البايثون تحتوي على ‪ 5‬أنواع قياسية للبيانات وهم‪:‬‬

‫‪ -1‬األرقام‬
‫‪ -2‬النصوص‬
‫‪ -3‬القائمة | ‪List‬‬
‫‪Tuple -4‬‬
‫‪ -5‬القواميس | ‪Dictionary‬‬

‫‪-1‬القائمة | ‪:List‬‬
‫القائمة تحتوي على عدة عناصر يفصل بينها بفاصلة ومغلقة بالرمز ][‬

‫مثال على انشاء قائمتين بالبايثون حيث تالحظ انه من الممكن ان تحتوي على عدة‬
‫أنواع من البيانات‪.‬‬

‫‪list = [ 'abcd', 745 , 2.23,‬‬


‫] ‪'Moustafa', 70.2‬‬

‫]'‪smalllist = [123, 'Ali‬‬

‫)‪print (list‬‬ ‫طباعة القائمة ‪#‬‬

‫‪24‬‬
‫بايثون بلمسة‬

print (list[0]) # ‫طباعة العنصر‬


‫األول‬
print (list[1:3]) # ‫الطباعة من‬
print (list[2:]) # ‫الطباعة من‬
print (smalllist * 2) # ‫طباعتها مرتان‬
print (list + smalllist) ‫طباعتهما مع‬
‫البعض‬ ‫بعضهما‬

:‫ناتج التنفيذ يكون كالتالي‬

['abcd', 745, 2.23, 'Moustafa',


70.200000000000003]
abcd
[745, 2.23]
[2.23, 'Moustafa', 70.200000000000003]
[123, 'Ali', 123, 'Ali']
['abcd', 745, 2.23, 'Moustafa',
70.200000000000003, 123, 'Ali']

25
‫بايثون بلمسة‬

‫‪:Tuples -2‬‬
‫الـ ‪ Tuples‬مشابهة للقائمة ولكن الفرق الوحيد هو انها للقراءة فقط اي ال‬
‫يمكن اضافة عناصر جديدة بعد انشائها‪.‬‬

‫‪tuple = ( 'abcd', 786 , 2.23,‬‬


‫) ‪'Moustafa', 70.2‬‬
‫)'‪tinytuple = (123, 'Ali‬‬

‫)‪print (tuple‬‬ ‫‪#‬‬ ‫طباعة جميع‬


‫القيم‬
‫)]‪print (tuple[0‬‬ ‫‪#‬‬ ‫طباعة العنصر‬
‫األول‬
‫)]‪print (tuple[1:3‬‬ ‫‪#‬‬ ‫طباعة‬
‫العناصر من‬
‫)]‪print (tuple[2:‬‬ ‫‪#‬‬ ‫طباعة بالبدء‬
‫من‬
‫)‪print (tinytuple * 2‬‬ ‫‪#‬‬ ‫طباعتها متان‬
‫)‪print (tuple + tinytuple‬‬ ‫طباعتهما ‪#‬‬
‫مع بعضهما‬

‫‪('abcd', 786, 2.23, 'Moustafa',‬‬


‫)‪70.200000000000003‬‬
‫‪abcd‬‬
‫)‪(786, 2.23‬‬
‫)‪(2.23, 'Moustafa', 70.200000000000003‬‬
‫)'‪(123, 'Ali', 123, 'Ali‬‬
‫‪('abcd', 786, 2.23, 'Moustafa',‬‬
‫)'‪70.200000000000003, 123, 'Ali‬‬

‫‪26‬‬
‫بايثون بلمسة‬

‫‪ -3‬القواميس | ‪:Dictionary‬‬
‫القواميس مشابهة للقائمة ولكن الفرق أنها تحتوي مفتاح‪-‬قيمة‪.‬‬

‫‪dict = {'ali': 'john','code':6734,‬‬


‫}'‪'dept': 'sales‬‬
‫)]'‪print (dict['ali‬‬ ‫طبع القيمة ‪#‬‬
‫المحددة‬
‫)]'‪print (dict['code‬‬ ‫طبع القيمة ‪#‬‬
‫المحددة‬
‫)‪print (dict‬‬ ‫طباعتها ‪#‬‬
‫كاملة‬
‫))(‪print (dict.keys‬‬ ‫طباعة جميع ‪#‬‬
‫المفاتيح‬
‫طباعة جميع ‪print (dict.values()) #‬‬
‫القيم‬

‫‪john‬‬
‫‪6734‬‬
‫‪{'dept': 'sales', 'code': 6734, 'ali':‬‬
‫}'‪'john‬‬
‫]'‪['dept', 'code', 'ali‬‬
‫]'‪['sales', 6734, 'john‬‬

‫‪27‬‬
‫بايثون بلمسة‬

‫‪ -15‬العبارة الشرطية ‪: if‬‬


‫وهي الختبار حالة معينة اذا كانت صحيحة فسوف ينفذ مجموعة من األوامر‪.‬‬

‫‪:‬‬ ‫مثال‬

‫‪x=4‬‬

‫‪if x==4:‬‬
‫)‪print(x‬‬

‫يكون الناتج‬

‫‪4‬‬

‫‪28‬‬
‫بايثون بلمسة‬

‫‪ -16‬العبارة الشرطية ‪: else – elif‬‬


‫‪ -‬تستخدم ‪ else‬عندما نريد تنفيذ مجموعة أوامر عنا ال يتحقق الشرط أي‬
‫يكون ‪False‬‬
‫‪ -‬تستخدم ‪ elif‬عندما نريد اختبار أكثر من حالة للشرط‪.‬‬

‫مثال‪:‬‬

‫‪x=3‬‬

‫‪o=6‬‬

‫‪y=5‬‬

‫‪if x==4:‬‬
‫)‪print(x‬‬
‫‪elif o==6:‬‬
‫)‪print(o‬‬
‫‪else:‬‬
‫)‪print(y‬‬

‫يكون الخرج ‪ 6‬الن الشرط الثاني محقق وتمت طباعة المتحول ‪ O‬أما لو لم‬
‫يتحقق الشرطان لتمت طباعة‬
‫‪6‬‬

‫المتحول ‪.Y‬‬

‫‪29‬‬
‫بايثون بلمسة‬

‫‪ -17‬حلقة ‪: while‬‬
‫طالما أن الشرط محقق سوف تكرر تنفيذ التعليمات التي تليها‪.‬‬

‫‪i = 4‬‬
‫‪while i < 9:‬‬
‫)‪print(i‬‬
‫‪i = i+2‬‬

‫سوف يتم طباعة المتحول ‪ x‬ثالثة مرات الى ان يصبح المتحول ‪ I‬أكبر من الـ ‪9‬‬
‫ويتم الخروج من الحلقة‬

‫‪4‬‬
‫‪6‬‬
‫‪8‬‬

‫مالحظة‪:‬‬

‫يجب االنتباه الى الحلقات الال نهائية حيث أنه طالما الشرط صحيح سيتم التنفيذ‬
‫بعدد ال نهائي‪.‬‬

‫‪30‬‬
‫بايثون بلمسة‬

‫‪ -18‬حلقة ‪:For‬‬
‫ايضا تعتبر نوع اخر من الحلقات التكرارية في البايثون وهذا مثال على‬
‫استخدامها‪:‬‬

‫‪for letter in 'Python':‬‬


‫)‪print(letter‬‬

‫في هذه مثال سوف يتم طباعة كل حرف في كلمة ‪Python‬‬

‫‪P‬‬
‫‪y‬‬
‫‪t‬‬
‫‪h‬‬
‫‪o‬‬
‫‪n‬‬

‫‪31‬‬
‫بايثون بلمسة‬

: break ‫ عبارة‬-19
For,While ‫تستخدم للمقاطعة في الحلقات التكرارية‬

for letter in 'Python':


if letter == 'h':
break
print )'Current Letter :', letter(

H ‫ويكون الخرج كالتالي النه البرنامج سوف يتوقف عند الوصول الى الحرف‬

Current Letter : P
Current Letter : y
Current Letter : t

32
‫بايثون بلمسة‬

‫‪ -21‬عبارة ‪: continue‬‬
‫تستخدم عبارة ‪ Continue‬العادتنا الى بداية الحلقة وتجاهل باقي التعليمات ‪,‬‬
‫كما أنها يمكن أن تستخدم في ‪ While , For‬معا‪.‬‬

‫‪for letter in 'Python':‬‬


‫‪if letter == 'h':‬‬
‫‪continue‬‬
‫(‪print )'Current Letter :', letter‬‬

‫في هذا المثال سيتم طباعة كل حرف في كلمة ‪ Python‬وعند الوصول الى‬
‫المحرف ‪ H‬سيتم تجاهل باقي التعليمات والعودة لبداية الحلقة وبذلك يكون‬
‫الخرج كالتالي‬

‫‪Current‬‬ ‫‪Letter‬‬ ‫‪:‬‬ ‫‪P‬‬


‫‪Current‬‬ ‫‪Letter‬‬ ‫‪:‬‬ ‫‪y‬‬
‫‪Current‬‬ ‫‪Letter‬‬ ‫‪:‬‬ ‫‪t‬‬
‫‪Current‬‬ ‫‪Letter‬‬ ‫‪:‬‬ ‫‪o‬‬
‫‪Current‬‬ ‫‪Letter‬‬ ‫‪:‬‬ ‫‪n‬‬

‫‪33‬‬
‫بايثون بلمسة‬

‫مالحظة‪:‬‬

‫يمكن استخدام عبارة ‪ Else‬مع حلقات التكرار‪.‬‬

‫‪34‬‬
‫بايثون بلمسة‬

‫‪ -21‬عبارة ‪: Pass‬‬
‫تستخدم هذه العبارة عندما ال نريد ألي تعليمات أن تنفذ أي (‪, )null operation‬‬
‫ولن يحدث اي شيىء عند تنفيذها‪.‬‬

‫‪for letter in 'Python':‬‬


‫‪if letter == 'h':‬‬
‫‪pass‬‬

‫في هذه المثال لن يتم طباعة اي شيىء‪.‬‬

‫‪35‬‬
‫بايثون بلمسة‬

‫‪ -22‬التصريح عن ‪: Function‬‬
‫يتم التصريح عن الـ ‪ Function‬بالعبارة ‪ Def‬متبوعة باسمها‪.‬‬

‫مثال يحتوي على ‪ Function‬اسمها ‪ myname‬تحتوي بارامتر ‪ str‬وتقوم‬


‫بطباعة هذه البارامتر‪.‬‬

‫استدعائها ببساطة نكتب اسم الـ ‪ Function‬مع البارامتر‬

‫‪def myname(str):‬‬
‫)‪print(str‬‬

‫‪#Call function‬‬

‫)'‪myname('moustafa‬‬

‫ويكون الخرج كالتالي‬

‫‪moustafa‬‬

‫‪36‬‬
‫بايثون بلمسة‬

‫مثال اخر على ‪ Function‬تقوم بجمع عددين‬

‫‪def num(x,y):‬‬
‫)‪print(x+y‬‬

‫)‪num(3,4‬‬

‫ويكون الناتج‬

‫‪7‬‬

‫‪37‬‬
‫بايثون بلمسة‬

‫‪ -23‬إنشاء ‪:Class‬‬
‫كما نعلم لغة البايثون لغة غرضية التوجه )‪ (oop‬وتدعم انشاء الـ ‪Clases‬‬

‫يتم انشاء الـ ‪ Class‬بكتابة كلمة ‪ Class‬ثم اسمه مثال‪:‬‬

‫‪class example:‬‬

‫‪def myname(self,name):‬‬
‫)‪print(name‬‬

‫هذا مثال على ‪ Class‬اسمه ‪ Example‬ويحتوي على ‪ Function‬اسمها‬


‫‪Myname‬‬

‫وتقوم هذه الـ ‪ Function‬بطباعة اسم نحن نحدده‪.‬‬

‫طريقة استخدام الـ ‪Class‬سهلة جد وهي بالطريقة التالية‪:‬‬

‫)(‪res=example‬‬
‫)'‪res.myname ('Moustafa‬‬

‫‪38‬‬
‫بايثون بلمسة‬

‫حيث ‪ res‬هي الوسيط ويتم االستدعاء باسم الوسيط متبوعا باسم الـ‬
‫‪Function‬‬

‫ويكون الناتج كالتالي‪:‬‬

‫‪Moustafa‬‬

‫‪39‬‬
‫بايثون بلمسة‬

‫مثال ‪: 2‬‬
‫سنستخدم الـ ‪ Function‬التي استخدمناها في مثالنا السابق والتي تقوم بجمع‬
‫عددين وسنقوم بانشاء ‪ Class‬ينفذ العمليات الحسابية األساسية‬
‫(الجمع‪,‬الطرح‪,‬الضرب‪,‬القسمة)‬

‫‪class num1:‬‬

‫‪def add(self,x,y):‬‬
‫)‪print(x+y‬‬

‫‪def sub(self,x,y):‬‬
‫)‪print(x-y‬‬

‫‪def div(self,x,y):‬‬
‫)‪print(x/y‬‬

‫‪def mul(self,x,y):‬‬
‫)‪print(x*y‬‬

‫)(‪result=num1‬‬

‫‪result.add‬‬ ‫)‪(2,2‬‬
‫‪result.div‬‬ ‫)‪(4,2‬‬
‫‪result.mul‬‬ ‫)‪(2,2‬‬
‫‪result.sub‬‬ ‫)‪(4,2‬‬

‫‪ Class‬اسمه ‪ num1‬ويحتوي على ‪ Functions 4‬تمثل العمليات األساسية‪.‬‬

‫الوسيط هنا اسمه ‪ Result‬وتم استدعاء الـ ‪ Functions‬واعطاء قيم الرقام‪.‬‬

‫‪40‬‬
‫بايثون بلمسة‬

‫الناتج يكون كالتالي‪:‬‬

‫‪4‬‬
‫‪2‬‬
‫‪4‬‬
‫‪2‬‬

‫قم بتغيير األرقام وسيقوم البرنامج بطباعة الناتج‪.‬‬

‫‪41‬‬
‫بايثون بلمسة‬

: Inheritance ‫ الوراثة‬-24
Class ‫الوراثة في لغة البايثون كما في لغات البرمجة األخرى هي أن يرث‬
. ‫ اخر‬Class ‫بعض خصائص‬

class Parent:
def myMethod2(self):
print (' parent ')

class Child(Parent):
def myMethod(self):
print (' child ')

c = Child()
c.myMethod2()
c.myMethod()

Child ‫ اخر اسمه‬Class ‫ و‬Parent ‫ اسمه‬Class ‫في هذا المثال يوجد‬

Parent Class ‫ الثاني يرث الـ‬Class ‫الـ‬

child Class ‫ وهو للـ‬C ‫الوسيط هنا هو الـ‬

42
‫بايثون بلمسة‬

‫نالحظ أنه عن طريق الـ ‪ child Class‬تم استدعاء الـ ‪Function‬‬


‫‪ mymethod2‬من الـ ‪Class parent‬‬

‫يكون ناتج التنفيذ كالتالي‪:‬‬

‫‪parent‬‬
‫‪child‬‬

‫‪43‬‬
‫بايثون بلمسة‬

License

http://creativecommons.org/licenses/by-nc-nd/3.0

44
‫بايثون بلمسة‬

‫‪45‬‬

You might also like