الخميس، 10 مايو 2012

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

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


-الخواص functions:
الخاصية هي مجموعة من الأوامر المتسلسلة و هذه الاوامر تعمل عند تشغيل هذه الخاصية
لكي نفهم يجب ان نتعلم بالأمثلة...
اولا لتحديد خاصية نكتب الأمر
def fun():
هنا كلمة def تقوم بتعريف الخاصية
كلمة fun هي اسم الخاصية
القوسين () فارغين يعني انها لا تحتاج الى أي متغير لتعمل به
الان الاوامر التي ستحتويها هذا الخاصية ستكون بعدها بسطر يبدأ ب 
 TAB
و ينتهي تعيين الخاصية بنقتين :
مثال:
def fun():
      print "بدأت الخاصية بالعمل"
      print " الأمر رقم واحد"
      print "الأمر رقم اثنان"
      print "انتهت الأوامر و انتهت الخاصية"
 الان عينا خاصية اسمها fun
اذا استدعينا هذه الخاصية فستقوم بتنفيذ الأوامر التي بداخلها
و نقوم بتنفيذ الخاصية عن طريق كتابة اسمها و بعدها قوسين
اي
fun()
هنا ستكون النتيجة
بدأت الخاصية بالعمل
الأمر رقم واحد
الأمر رقم اثنان
 انتهت الأوامر و انتهت الخاصية

 ستكون النتيجة كتابة هذه الجمل
- العمل على الخواص :

اولا: نعيين متغير قيمته خاصية ما :
اذا كان عندنا خاصية اسمها fun و نريد ان نقوم بجعل نتغير يحمل قيمتها مثلا x
مثال:
def fun():
      print "انا خاصية"

طبعا اذا كتبنا 
fun()
ستكون النتيجة كتابة جملة انا خاصية
انا خاصية
لتعيين متغير نقوم بكتابة الأمر
x=fun
نلاحظ عدم كتبتنا للقوسين سأشرح لاحقا لماذا
الان x قيمته هو خاصية اي
الان نستطيع بدء اليخاصية عن طريق
x()
 ستكوت النتيجة نفسها نتيجة fun() و هي كتابة الجملة انا خاصية


ثانيا:اعطاء متغير للخاصية للعمل فيه:
هذه في الحقيقة السبب للخواص وهي لأنك تستطيع القيام بنفس الأمر لمتغيرات عديدة
لكي نفهم نقوم بالمثال
def fun(x):
print "قيمة المتغير المعطى للخاصية  : "+x
هنا عينا خاصية اسمها fun
تأخذ متغير x
و تكتبه
كيفية تشغيلها؟؟
fun("انا متغير اعطيت لهذه الخاصية")
 هنا قمنا بنداء الخاصية fun و اعطيناها قيمة المتغير اكس هي جملة "انا متغير اعطيت لهذه الخاصية"
اذا ستكون نتيجة الأمر
قيمة المتغير المعطى للخاصية : انا متغير اعطيت لهذه الخاصية
 ماذا قامت الخاصية؟
قامت بكتابة جملة "قيمة المتغير المعطى لهذه الخاصية" + قيمة المتغير x
وعندما نادينا الخاصية و أطيناها قيمة x هي جملة "انا متغير اعطيت لهذه الخاصية"
ستكتب
"فيمة المتغير المعطة لهذه الخاصية"+"انا متغير اعطيت لهذه الخاصية"
ماذا نستطيع العمل بالخواص التي تأخذ متغيرات؟؟
مثلا نستطيع ان نصنع خاصية تأخذ متغيرين قيمتهم رقمية و تجمعه
مثال:
def jame3(x,y):
xy=x+y
print "المجموع هو : "+str(xy)
 هنا اولا عرفنا خاصية اسمها jame3
تأخذ متغيرين هما رقم x و رقم y
ثم نعين متغير اسمه xy
قيمته هو مجموع x و y
ثم نأمرها بكتابة الجملة
"المجموع هو : "+"قيمة المجموع كنص"
اما الأمر str()
فهي لتحويل الرقم الى نص لكي نكتبه و سأشرحها لاحقا
فاذا نادينا الخاصية
jame3(1,2)
فستكون النتيجة كتابة الجملة "المجموع هو : "+"قيمة الجمع و هي 3"
اي
المجموع هو : 3
 و هكذا
نلاحظ انه اذا لم نعطي الخاصية متغيرين اي اذا اعطيناها متغير واحد فقط
jame3(5)
فسيعطي خطأ و لكي نتناوله نستطيع القيام بعملية try و except
المشروحة سابقا

سنقوم بتعريف خاصية تجمع 3 أرقام فإذا لم تعطى 3 أرقام سنعين الرقم 0 كمتغير ثالث اي ستجمع الرقمين فقط
مثال:
 def jame3(x,y,z):
xyz=x+y+z
print "المجموع هو : "+str(xyz)

 لتشغيلها نقوم بالأمر
try:
jame3(1,2)
except:
jame3(1,2,0)
 هنا قمنا بتناول الخطأ الناتج عن نقصان متغير فقمنا بجعل المتغير الثالث قيمته 0
هنا ستكون النتيجة:
المجموع هو : 3
 لكن هذه الخطأ نادر الوقوع لأن المبرمج هو من عرف الخاصية و هو من يعطيها المتغيرات فبالتأكيد سيعطي المتغيرات كاملها
ثالثا:خاصية الرجوع:
الان خاصية الرجوع للخاصية
حسناا الخاصية تستطيع ان تعيد قيمة لكتابتها او استخدامها في شيء اخر
و هي عن طريق كلمة 
return
و هي تنهي الخاصية
مثال
def jame3(x,y):
xy=x+y
 return xy
هنا اذا نادينا الخاصية
jame3(1,2)
 لن تقوم بفعل شي لأنها فقط ارجعت القيمة
اما اذا كتبنا الأمر
print str(jame3(1,2))
 سيكون الناتج هو 3 لأننا امرناها بكتابة القيمة التي اعادتها الخاصية 
 jame3
نلاحظ اننا حولنا قيمة المرجعة من الخاصية الى نص لأنها رقم و الرقم في بايثون لا نستطيع كتابته و سأشرح ذلك لاحقا
رابعا: تعيين متغير للقيمة الراجعة من خاصية :
كيف هذا؟؟ 
مثال
def jame3(x,y):
xy=x+y
return xy
هنا عرفنا خاصية تعطى متغيرين و تجمعهن و ترجع قيمة الجمع
كيف نعين قيمة الخاصية الى متغير؟؟
z=jame3(1,2)
هنا اعطينا قيمة الخاصية التي تجمع الرقمين 1 و 2 الى المتغير x
اي قيمة x هي 3
الان اذا قمنا بالأمر
print str(z)
سيكون الناتج 3 و نلاحظ ايضا اننا حولنا z الى نص لأن قيمته هي رقم و الرقم لا يكتب
نلاحظ ان
z=jame3
نعطي قيمة المتغير الخاصية
اما
z=jame3(1,2)
فيعطي قيمة المتغير z القيمة الراجعة من الخاصية jame3 و هي هنا 3
ماذا نستطيع العمل في خاصية الاعادة للخواص
مثال هذه الكود
def jame3(x,y):
xy=x+y
return xy
def dareb(x,y):
xy=y*x
return xy
print str(dareb(jame3(1,2),2))
هنا في هذا الكود قمنا بتعيين خاصية اسمها jame3 لجمع متغيرين
و تقوم بارجاع قيمة جمع المتغيرين
ثم عينا خاصية dareb لضرب متغيرين عددين و ارجاع قيمة المتغير
ثم كتابة قيمة الضرب
هنا سيكون الناتج
 6
اولا غيرنا قيمة المتغير الناتج الى نص عن طريق  str()
ثم قمنا باستدعاء الخاصية ضرب
اعطيناها اول متغير هو قيمة الخاصية جمع التي هي ذاتها اعطيناها المتغيرين 1 و 2  و هي 3 ثم اعطيناها المتغير الثاني رقم 2
 و هي تقوم بضربهم لتعطي 6
ثم حولناها لنص و كتبناها
هنا انتهينا من الخواص لأي استفسار تستطيع التعليق في صفحة تواصل معنا او تستطيع التعليق على هذه المقالة
المكتبة العامة لبايثون python library:
هذه المكتبة تحوي الأوامر العامة لبايثون مثل الأمر print و str
اولا ما هي المكتبة؟
المكتبة هي عبارة عن موديول او كود بايثون يتيح لك بأوامر اكثر مثل الاتصال بالانترنت و التحكم بالتاريخ و والوقت و المعالج و الملفات و قواعد البيانات و الرياضيات
ما هي انواع المتغيرات؟
وهو شيء مهم يجب ان تعرفه انه يوجد 5 انواع للمتغيرات
1 - نص string
2 - رقم intiger
3 - نقطة عوم float
4 - دوبل double
5 - بوولينbool
1 النص:
و هو اي شي محاط بعلامتي الاقتباس ""
مثلا
x="hey"
هنا x قيمتها الكلمة hey و هي نص و نستطيع كتابتها بالأمر print
اما
x=hey
هنا x تعني شيء اسمه هو hey قد تكون خاصية او صف او اي شيء و لا نستطيع كتابتها بالأمر print
2 رقم:
و هي مجرد رقم مثلا 1 او 10 او 1000
x=1
y=2
z=y+x=3
print z >> error
print str(z) >> 3
 

 اما النص
x="1"
y="2"
z=x+y="12"
print z >> 12
اي الفرق بين الرقم و النص انا الرقم يعامل على اسس الرياضيات اما النص يعامل على انه حرف و جمعه مع حرف يعطي حرفين اما جمعه مع رقم يعطي خطأ و هو قابل للكتابة اما الرقم فلا يكتب و لتحويل الرقم الى نص نستخدم str()
اما لتحويل النص الى رقم نستخدمint()
مثال
x=1
y="2"
z=y+x
print z >>error
z=x+int(y)
print str(z) >> 3
x=1
y="2"
z=str(x)+y
print z >> 12
ال << تعني الناتج هو
3 - نقطة العوم:
و هي ببساطة رقم يحتوي فاصلة
x=1.5
y=1
print str(y+x) >> error
print str(x+float(y)) >> 2.5
print str(int(x)+y) >> 3
ان تحويل متغير نقطة عوم الى رقم عن طريق int()
يلغي الفاصلة
اذا كان اول رقم بعد الفاصلة اكبر من أربعة يمحي الفاصلة و يزيد الرقم 1 الى المتغير
اما اذا كان اول رقم بعد الفاصلة 4 او اصغر تمحى الفاصلة و يبقة الرقم على حاله
مثال:
x=1.5
y=1.4
print str(int(x))>>2
print str(int(y))>>1
print str(x)>>1.5
print str(y)>>1.4
4 - الدوبل:
بكل بساطة هو نقطة عوم و لكن تحوي عدد كبير
5- بوول:
و هي قيمة لا تحوي الا صح او خطأ او 1 او 0
lما هي الأوامر التي في مكتبة بايثون؟
اهمها print
str()
in()
float()
bool()
double()
join()
وجميعها في هذا الرابط
يتبع

ليست هناك تعليقات:

إرسال تعليق

لديك شيء لتقوله؟

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.