الفصل الثاني Functions & Procedures
الدرس الحادي عشر : دوال بايثون الجاهزة
تعلمنا في الدرس العاشر كيفية برمجة الدوال Functions اليوم سأشرح بعض الدوال الجاهزة التي تمنحها لك بايثون حتى لا تبرمج كل شيء بنفسك.
(raw_input(prompt
تعرضنا لهذه الدالة كثيرا في الدروس السابقة وهي تستعمل لإستقبال البيانات من المستخدم بحيث تعرض محث لاستلام مدخلات ثم تعيد سلسلة نصية.
prompt هو معيار هذه الدالة و نعوضه بالرسالة التي نريد أن تظهر للمستخدم قبل إدخاله للبيانات.
(input(prompt
هي تشبه الدالة (raw_input(prompt الفرق الوحيد بينهما أن الأولى تعيد سلسة نصية و الثانية تعيد قيمة عددية.
(abs(number
تعيد القيمة المطلقة (Absolute value) للعدد و هي العدد بدون إشارة.
>>> abs(5) 5 >>> abs(-5) 5
(max(iterable
دالة تتعامل غالبا مع الحاويات (container)، تعيد أكبر قيمة في الحاوية كالتالي :
>>> max("mohamed") #string container
'o'
>>> max([0, 1, 2, 3, 4, 5]) #list cotainer
5
>>> max(('a', 'b', 'c', 'd', 'e', 'f')) #tuple container
'f'
>>> max({'key1' : 10, 'key2' : 20, 'key3' : 30}) #dict container
'key3'(min(iterable
هي عكس الدالة max، فهي تعيد أصغر قيمة.
>>> min("mohamed") #string container
'a'
>>> min([0, 1, 2, 3, 4, 5]) #list cotainer
0
>>> min(('a', 'b', 'c', 'd', 'e', 'f')) #tuple container
'a'
>>> min({'key1' : 10, 'key2' : 20, 'key3' : 30}) #dict container
'key1'ملاحظة : معرفة القيمة الأصغر أو الأكبر للأحرف تتم بناءا على قيمتها في جدول ASCII
بإمكانك الحصول على قيمة الحرف في جدول ASCII من خلال الدالة (ord(char، وللحصول على الحرف من خلال القيمة نستخدم الدالة (chr(i، كالتالي :
>>> ord('A')
65
>>> ord('a')
97
>>> chr(65)
'A'
>>> chr(97)
'a'(bin(num
تحول القيمة num الي النظام الثنائي، كالتالي :
>>> bin(100) '0b1100100'
(oct(num
تحول القيمة num الي النظام الثماني، كالتالي :
>>> oct(100) '0144'
(hex(num
تحول القيمة num الى النظام الست عشري، كالتالي :
>>> hex(100) '0x64'
(round(num, digits
هي دالة تقوم بتقريب العدد num إلى الفاصلة بعدد معين من الأرقام يساوي digits، كالتالي :
>>> round(1.111111, 4) 1.1111 >>> round(1.111111, 2) 1.11
(range(end
تعيد list من 0 الى end، كالتالي :
>>> range(10) # 0 to 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
(range(start, end
تعيد list من start الى end، كالتالي :
>>> range(1, 5) [1, 2, 3, 4]
(range(start, end, step
تعيد list من start الى end بخطوات مقدارها step، كالتالي :
>>> range(1, 20, 3) [1, 4, 7, 10, 13, 16, 19]
(len(object
الدالة len إستخداماتها تختلف حسب المعيار (argument) الذي يمرر إليها، مثلا إذا كان string سيتم إعادة عدد حروفه،و إذا كان list أو tuple أو dict سيتم إعادة عدد عناصره، مثلا :
>>> len('Mohamed') # string
7
>>> len([1, 2, 3, 4, 5]) # list
5
>>> len(('a', 'b', 'c', 'd')) # tuple
4
>>> len({'Lang' : 'python', 'Site' : 'python.org'}) # dict
2تمارينات
1- برمج دوال مشابهة للدوال أعلاه و تعمل نفس عملها. كما في المثال التالي حيث الدالة MYraw_input تعمل نفس عمل الدالة raw_input :
>>> def MYraw_input(prompt) :
return raw_input(prompt)
>>> i = MYraw_input("Input any thing : ")
Input any thing : WoW! it is good
>>> i
'WoW! it is good'2- برمج دالة تعرض جدول ASCII.
من كتاب بايثون العربي بتصرف
إنتهى الفصل الثاني بحمد الله
فهرس الدورة
الفصل الاول : أساسيات بايثون
دورة بايثون من الصفر الى الاحتراف
الدرس الاول : أمر الطباعة print + التعليقات
الدرس الثاني : المتغيرات Variables
الدرس الرابع : الجملة الشرطية if
الدرس السادس : الكائنات متعددة العناصر (الجزء الأول)
الدرس السابع : الكائنات متعددة العناصر (الجزء الثاني)
الدرس الثامن : الحلقات loops (الجزء الأول)
الدرس التاسع : الحلقات loops (الجزء الثاني)
الفصل الثاني Functions & Procedures :
