Project Sigma - Programming
136 subscribers
22 photos
4 files
39 links
القناة الرئيسية

@ProjectSigmaTeam
Download Telegram
هل ترغب في تعلم البرمجة ؟
لا تعلم من أين تبدأ ؟
إذاً تابع معنا سلسلة دروس خاصة بالمبتدئين لتعلم البرمجة من الصفر حتى الاحتراف .. على الهاشتاغ #تعلم_البرمجة

#NullByteStream_team
Project Sigma - Programming pinned «هل ترغب في تعلم البرمجة ؟ لا تعلم من أين تبدأ ؟ إذاً تابع معنا سلسلة دروس خاصة بالمبتدئين لتعلم البرمجة من الصفر حتى الاحتراف .. على الهاشتاغ #تعلم_البرمجة #NullByteStream_team»
#تعلم_البرمجة
#الدرس_الأول

مقدمة - مصطلحات ومفاهيم أساسية

هذه المقدمة مهمة لتفهم مبادئ البرمجة وتحدد المجال الذي تريد أن تتعلمه

أولاً : ما هي البرمجة وكيف تتم كتابة البرامج ؟
البرمجة بالطبع هي كتابة البرامج التي ينفذها الحاسوب حرفياً وبالترتيب .. وذلك بإحدى لغات البرمجة
فلغة البرمجة هي اللغة التي يتواصل فيها المبرمج مع الحاسوب ..

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

ولكن السؤال الأهم : أي لغة برمجة أختار ؟
هناك الكثير والعديد من لغات البرمجة ، وكل لغة تختص بمجال معين

فمثلاً : هل تحب تصميم برامج الأندرويد ؟
إذاً عليك تعلم لغة الجافا java فهي أفضل لغة لتصميم برامج الأندرويد

هل تريد تصميم مواقع انترنت وبرامج ويب ؟
إذاً عليك تعلم لغة php

هل تريد تصميم برامج للحاسوب ؟
إذا أفضل لغة لتصميم برامج الحاسوب هي ++C أو #C

بالطبع هناك الكثير من الخيارات الأخرى ولكن هذه اللغات هي الأكثر استخداماً في هذه المجالات
فمثلاً يمكنك بلغة الجافا أن تصمم برامج للحاسوب كما يمكنك بلغة ++C أن تكتب برامج للأندرويد

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

ولكن بالنسبة لمبتدئ .. أنا أنصحك بشدة أن تتعلم لغة سهلة
وأفضل لغة برأيي هي لغة البايثون Python فهي من أسهل اللغات .. انظر لهذا البرنامج البسيط وقرر بنفسك 😄
هذا البرنامج يعرض نص "hello world!" على الشاشة فقط
أولاً بلغة سي بلس بلس ++C :

#include <iostream.h>
using namespace std;
int main() {
cout << "hello world";
return 0;
}

الآن هذا نفس البرنامج بلغة البايثون :
print "hello world!"

لاحظ الفرق واتخذ قرارك 😄
وكما ذكرت فمن الضروري أن تبدأ بلغة سهلة حتى تتعلم مبادئ وأساسيات البرمجة.. بعدها تعلم أي لغة أخرى ترغب بها .. لذلك سنبدأ الدرس القادم بلغة البايثون

#NullByteStream_team
#تعلم_البرمجة
#الدرس_الثاني
مقدمة في لغة البايثون

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

البدء مع لغة البايثون
أولاً يجب أن تقوم بتثبيت مترجم لغة البايثون .. هذا هو البرنامج الذي يقوم بتنفيذ أوامر لغة البايثون
توجد عدة إصدارات من لغة البايثون ولكن أفضل إصدار هو 2.7.14
يمكنك تحميل المترجم من الموقع الرسمي python.org أو قم بتحميل الملف أسفل المنشور 👇🏻
عند التثبيت لا تغير أي إعدادات فقط اضغط التالي التالي حتى بدء التثبيت
هذا بالنسبة لنظام الويندوز .. أما لنظام أندرويد فيوجد أيضاً نسخة مترجم بايثون خاصة بنظام أندرويد قم بتحميلها من متجر غوغل بلاي .. اسم التطبيق QPython
قم بتحميل الإصدار 2.7 لأنه الإصدار الذي سنستخدمه في دروسنا
بالنسبة لنظام لينوكس - يونكس - ماك فإن مترجم البايثون في معظم الأحيان موجود في أساس هذه الأنظمة ، تحقق من وجوده بفتح موجه الأوامر وكتابة الأمر python .. إن لم يكن موجوداً قم بتثبيته بالأمر
sudo apt-get install python
هذا الأمر يختلف من نظام لآخر

بعد تثبيت المترجم سنبدأ بكتابة أول برنامج ..
افتح المفكرة من قائمة ابدأ - كافة البرامج - البرامج الملحقة ثم قم بحفظ الملف فارغ بدون كتابة شيء بضغط Ctrl + S .. اختر مكان الحفظ ثم أدخل اسم الملف بامتداد .py
مثلاً myapp.py
الآن اذهب إلى المكان الذي قمت بحفظ الملف فيه وانقر الزر اليمين على الملف واختر edit with idle
idle هو محرر نصوص ملحق بمترجم البايثون سنستخدمه لكتابة البرامج

عند فتح البرنامج ستظهر الواجهة كما في الصورة أسفل البوست
سنستخدم أول أمر وأسهل أمر وهو أمر طباعة نص على الشاشة (print)
print "Hello world"

لا تنسَ الفاصلة العلوية فهي مهمة جداً .. ستعرف لاحقاً فائدتها
بعد كتابة الأمر السابق احفظ الملف بضغط Ctrl + S ثم قم بتنفيذ البرنامج بضغط زر F5 .. ستلاحظ ظهور النص Hello world على الشاشة !
لنجرب شيئاً آخر .. اكتب 5 + 5 ثم اضغط F5 .. سيقوم البرنامج بحساب مجموع 5+5 وعرض الناتج على الشاشة
سهل جداً !!
بالنسبة للعمليات الحسابية فهي كالتالي :
+ جمع
- طرح
* ضرب
/ قمسة
** قوة ( أس ) مثلاً
2
**3 = 8
% باقي القسمة
3%2 = 1

هذه هي العمليات الأساسية .. جرب التي تهمك منها
لا تنسى أن أهم شيء لتعلم أي لغة هو التدريب والتطبيق العملي .. لا تكتفي بالحفظ بل تدرب وجرب وطبق كل ما تتعلمه
#NullByteStream_team
python-2.7.14.msi
18.3 MB
مترجم البايثون لنظام ويندوز
#تعلم_البرمجة
#الدرس_الثالث
لغة البايثون - المتغيرات

ما هي المتغيرات ؟
المتغير هو طريقة لتخزين قيم محددة ( أرقام - أحرف - نصوص ... ) لتعديلها وتغييرها كما نريد أثناء تنفيذ البرنامج .. فهي كما يدل اسمها تحمل قيم يمكن تغييرها كما نريد أثناء تنفيذ البرنامج .. يمكن أن نعطي المتغير أي اسم نريد مثل X - Y - variable - fdfsffff ....
ستفهمها بشكل أفضل بعد تطبيق مثال عملي
طريقة تعريف متغير بلغة البايثون هي كالتالي :
X = 1
ببساطة نختار اسم المتغير ونسند إليه القيمة
ماذا تعني هذه العبارة X = 1 ؟
هنا قمنا بتعريف متغير اسمه X وأسندنا إليه القيمة 1
فعندما تكتب X ضمن البرنامج فكأنك كتبت 1
جرب كتابة X + 2 ونفذ البرنامج .. سيعرض لك الناتج 3
X = 1
X + 2
وكما ذكرت ، يمكننا تغيير قيمة المتغير كما نريد .. فجرب مثلاً إضافة الكود X = 10 بعد الكود السابق ليصبح الكود
X = 1
X + 2
X = 10
X + 1

الكود السابق يقوم بالترتيب بتعريف المتغير X في السطر الأول وإعطائه القيمة 1
السطر الثاني يقوم بجمع قيمة X وهي 1 مع العدد 2 وإظهار الناتج
السطر الثالث يقوم بتغيير قيمة المتغير X إلى 10
السطر الرابع يقوم بجمع قيمة المتغير الجديدة وهي 10 مع العدد 1 وإظهار الناتج على الشاشة
فستكون النتيجة بعد تنفيذ البرنامج كالتالي :
3
11
يمكننا ببساطة أيضاً عرض قيمة المتغير بالأمر print
X = 5
print X
سيعطي الناتج 5
لنجرب برنامجاً أطول قليلاً
X = 5
Y = 3
Z = X + Y
print Z

هذا البرنامج يعرف المتغير X ويعطيه القيمة 5 ثم يعرف المتغير Y ويعطيه القيمة 3 ثم يعرف المتغير Z ويعطيه القيمة X + Y أي 5+3 أي 8 ... ثم يطبع قيمة المتغير Z وهي 8

أنواع المتغيرات :
لن ندخل في تفاصيلها وسأذكر الأنواع الأساسية ببساطة
1- integer عدد طبيعي
مثل (1123256)
2- string سلسلة نصية ( نص عادي )
مثل (gfhlsitvshfsdk)
3- boolean
يأخذ قيمتين : نعم أو لا

هناك أنواع أخرى مثل float ( عدد عشري ) وغيرها لن نتحدث عنها حالياً لنبقي الدرس أبسط ما يمكن

لا تنسَ أن أهم شيء في البرمجة هو التجريب والتطبيق العملي .. جرب كل شيء واكتب أكبر عدد من البرامج وتابع معنا دروسنا بالترتيب
سنتحدث في الدروس القادمة عن المواضيع التالية
العمليات المنطقية
الجمل الشرطية if - else
العبارات التكرارية while
حتى الوصول إلى التحكم بالملفات والclasses واستيراد وإنشاء مكتبات البايثون لتكون قد وصلت إلى مرحلة متقدمة في البرمجة
ثم سنتحدث عن المواضيع المتقدمة أكثر مثل إنشاء برامج بواجهات رسومية بامتداد .exe وتصميم البرامج ثلاثية الأبعاد وألعاب الحاسوب وغيرها ..
وبعد الانتهاء من لغة البايثون سننتقل للحديث بشكل عام عن الشبكات وأنواع الاتصالات وسننشئ برنامج دردشة بسيط على الانترنت بلغة البايثون

لأي استفسارات تواصل معنا عبر البوت
#NullByteStream_team
#تعلم_البرمجة
#الدرس_الرابع
لغة البايثون - العبارات المنطقية والشرطية

فكر في البرنامج التالي :
لنفرض أن لدينا رقمان
إذا كان الرقم الأول يساوي الرقم الثاني : اطبع عبارة " يساوي " على الشاشة ، وإلّا : اطبع عبارة " لا يساوي "
هذه المساواة هي إحدى العبارات المنطقية .. نعبر عنها بإشارتي مساواة ==
من العبارات المنطقية الأكثر استخداماً :
==
يساوي

!=
لا يساوي

<
أصغر من

>
أكبر من

<=
أصغر أو يساوي

>=
أكبر او يساوي
ستفهمها أكثر بعد المثال

أما بالنسبة للعبارات الشرطية فهي كالتالي
if (الشرط1):
comm1
else:
comm2

وهي تعني التالي:
إذا كان ( الشرط الأول محققاً ) :
نفذ الأمر comm1
وإلا:
نفذ الأمر comm2

هناك فكرة مهمة قبل تطبيق مثال عملي .. وهي أنه يجب ترك 4 فراغات أو فراغ واحد على الأقل وإلا ستظهر رسالة خطأ
الفراغات تتم إضافتها في السطر التالي بعد if وكذلك الأمر بالنسبة لelse
if (5<7):
( 4 spaces) comm1
else:
( 4 spaces) comm2

مكان كلمة (4 spaces) نضع 4 فراغات .. فإذا لم نضعها هنا في هذا البرنامج ستظهر رسالة خطأ ولن يعمل

الآن مثال عملي للفهم

if (1==1):
print 'yes'
else:
print 'no'


معنى الكود السابق إذا كان الواحد يساوي الواحد فاطبع كلمة yes وإلا اطبع كلمة no ... بالطبع الشرط الأول تحقق فالناتج على الشاشة عند تنفيذ البرنامج سيكون yes
ليش من الضرورة أن تستخدم else دائماً .. فيمكنك أن تستخدم if فقط كالمثال التالي
if (12>5):
print 'yes'

فهنا إذا كان ال12 أكبر من 5 اطبع كلمة yes
إذا كان الشرط غير محقق لن يحدث شيء
هنا بالطبع الشرط تحقق وستظهر كلمة yes

الآن لنجرب برنامجاً أطول قليلاً مع متغيرات :
x = 5
y = 7
if (x==y):
print 'yes'
else:
print 'no'


أصبح كل شيء واضحاً
في السطر الاول قمنا بتعريف المتغير x وأعطيناه القيمة 5
في السطر الثاني قمنا بتعريف المتغير y وأعطيناه القيمة 7
في الأسطر الباقية قمنا بكتابة الجملة الشرطية التالية :
إذا كانت قيمة المتغير x مساوية لقيمة المتغير y :
اطبع كلمة yes
وإلا:
اطبع كلمة no

الآن في الختام سنذكر فكرة مهمة .. انظر إلى البرنامج التالي

if (1==4):
print 'yes'
print 'hello'


هنا في هذه العبارة الشرطية لم يتحقق الشرط 1==4 فلن يتم تنفيذ ما داخل العبارة الشرطية .. ولكن الأمر print 'hello' ليس داخل العبارة الشرطية .. لأننا لم نترك له 4 فراغات
أي بمعنى كل سطر نترك له 4 فراغات يعتبر داخل العبارة الشرطية أما عندما لا نضع الفراغات فسيصبح أمراً مستقلاً لا علاقة له بالعبارة الشرطية .. والخطأ الذي تحدثنا عنه يظهر عندما نكتب عبارة شرطية بدون أن نضع أي شيء داخلها ( أي عندما لا نضع أي أمر وقبله 4 فراغات )

الآن قم بحل التمرين التالي للتأكد من فهمك :

" اكتب برنامجاً تعرف فيه متغيرين a و b قيمة a هي 5 وقيمة b هي 6
ثم اكتب عبارة شرطية تقارن بين المتغيرين a و b فإذا كانا متساويين اكتب yes على الشاشة وإلا فاكتب no على الشاشة "


بعد تنفيذ البرنامج إذا ظهرت العبارة no على الشاشة فالبرنامج صحيح ولا توجد أخطاء
في الدرس القادم سنناقش العبارات التكرارية

#NullByteStream_team
الدفع الالكتروني والربح من الانترنت ..
موضوع مختصر

هناك الكثير من البنوك الالكترونية للدفع عن طريق الانترنت .. مثل paypal و غيرها ..
ولكن أصبحت العملة الرقمية Bitcoin مشهورة جداً في هذا الوقت ، وللبدء باستخدامها تحتاج إلى محفظة wallet لتخزين رصيدك ، وأشهر موقع يمكنك عن طريقه فتح محفظة هو blockchain ولكن هناك تطبيق أسهل على أجهزة الأندرويد Bitpie يمكنك تحميله من متجر غوغل بلاي .. حيث يمكنك فتح محفظة للكثير من أنواع العملات الرقمية مثل
Bitcoin
Etherium
وغيرها

أما طرق الربح من الانترنت فهناك عدة طرق
أولاً عن طريق مواقع تقدم لك المال مقابل مشاهدة الإعلانات أو حل الكابتشا CAPTCHA أو زيارة مواقع أو ....
كما يمكنك الربح عن طريق إنشاء موقع أو مدونة ووضع إعلانات .. فكلما زاد عدد زوار هذا الموقع تكسب المزيد من المال مقابل مشاهدتهم لهذه الإعلانات
أما أسهل الطرق للربح من الانترنت وعلى التلغرام هي عن طريق بوتات تعدين البيتكوين .. فكل ما عليك هو بدء البوت وجمع الرصيد كل فترة .. طبعاً لن يكون الربح كبيراً في البداية ولكن ذلك يعتمد على طريقة استخدامك لها ..
وهذه روابط بعض من هذه البوتات :
( ملاحظة : لم تتم تجربة هذه البوتات من قبل فريقنا بعد للتأكد من مصداقيتها .. ولكن عند نجاح سحب الرصيد من أحدها سننشر التأكيد هنا مع إثبات السحب .. على كل حال لن تخسر شيئاً من تجربتها )

البوت الأول
http://t.me/Bitcoin_Sky_Mining_bot?start=774282935

الثاني
http://t.me/CanadaBitcoinMiningBot?start=774282935

الثالث
http://t.me/BitcoinAntPoolbot?start=774282935

الرابع
https://t.me/DinoParkBot?start=774282935


#NullByteStream_team
طريقة تحميل الملفات الكبيرة من الانترنت ...

إذا أردت تحميل ملف كبير الحجم فلا يمكنك استخدام متصفح انترنت عادي لأنه سيوقف التحميل كلما قطع اتصال الانترنت وكلمة خرجت من البرنامج سيبدأ التحميل من جديد ..
لتحميل الملفات الكبيرة قم بتحميل برنامج internet download manager للويندوز أو ADM Advanced download manager للاندرويد حيث يمكنك تحميل قسم من البرنامج عند توافر الاتصال بالانترنت ويمكنك إيقاف التحميل واستئنافه متى أردت كما أنه يفتح عدة اتصالات لتسريع التحميل ..
رابط تحميل برنامج الكمبيوتر :
http://mirror2.internetdownloadmanager.com/idman632build5.exe?b=1&filename=idman632build5.exe

أما برنامج الاندرويد فتجده على جميع المتاجر

#NullByteStream_team
#تعلم_البرمجة
#الدرس_الخامس

الدوال functions

لنفرض أن لدينا قائمة ب50 رقماً .. نريد كتابة برنامج يقوم بأخذ كل رقم ووضعه في متغير ثم ضربه ب3 ثم إضافة 5 إليه ثم قسمته على 2 ثم بعدها طباعة الرقم على الشاشة ... لنفرض أن الرقم الأول هو 4 .. سيكون شكل البرنامج كالتالي :
a = 4
a = a * 3
a = a + 5
a = a / 2
print a

في السطر الأول قمنا بتعريف المتغير a وأسندنا إليه القيمة المطلوبة وهي 4
في السطر الثاني قمنا بضرب قيمة المتغير a ( وهي 4 ) بالعدد 3 .. أصبحت قيمة المتغير 12
في السطر الثالث قمنا بجمع المتغير a مع 5 .. أصبحت قيمة المتغير a هي 17
في السطر الرابع قمنا بقسمة قيمة المتغير ( وهي 17 ) على 2
أما السطر الأخير فسيطبع قيمة المتغير على الشاشة ..

هذا البرنامج يبدو سهلاً .. ولكن المشكلة أنه علينا كتابة البرنامج نفسه ل50 رقماً .. فبهذه الطريقة سيتوجب علينا كتابة البرنامج نفسه 50 مرة !

ولكن لغة البايثون لديها حل لهذه المشكلة .. عن طريق ما يسمى بالدوال functions .. تخيل الدالة أنها بمثابة آلة تعطيها المواد التي تريد تصنيعها فتقوم هي بالعمل ثم تعطيك الناتج النهائي ... لاحظ الكود كيف سيصبح باستخدام الدالة :
def calc(a):
a = a * 3
a = a + 5
a = a / 2
print a

calc(4)
قمنا هنا بتعريف الدالة بالأمر def .. هذه الدالة ستأخذ القيمة التي تضعها بين قوسين وتجري عليها العمليات الحسابية ثم تطبع القيمة النهائية على الشاشة .. الآن إذا أردنا إجراء هذه العمليات على العدد 10 مثلاً فكل ما علينا كتابته هو
calc(10)
وبنفس الطريقة نتابع بقية الأعداد
calc(24)
calc(15)
......

الآن سنشرح مبدأ الدوال بالتفصيل وطريقة تعريفها :
أولاً كما لاحظت فإن الدالة يأتي بعدها قوسان () دائماً .. وبدون وضع هذه الأقواس ستظهر رسالة خطأ

لنبدأ بمثال لدالة بسيطة :
def pr():
print 'hello'
قمنا بتعريف الدالة التي أسميناها pr ووضعنا داخلها أمر طباعة كلمة hello .. لا تفكر بالأقواس الآن ولكن لا تنسى أن تكتبها
الآن لتنفيذ الدالة كل ما علينا هو كتابة الأمر
pr()
وهو امر استدعاء الدالة وسيتم تنفيذ الأوامر الموجودة داخل الدالة وهو الأمر print 'hello' وستظهر كلمة hello على الشاشة .. وكلما كررت الأمر pr() ستظهر الكلمة مجدداً
لكن إذا قمت بتعريف الدالة بدون وضع أمر الاستدعاء pr() فلن يتم تنفيذها ولن يظهر شيء على الشاشة .. وأيضاً لا تنسَ ترك 4 فراغات قبل كتابة أي أمر ضمن الدالة .. أما بالنسبة لاسم الدالة فيمكنك اختيار أي اسم تريده ولكن لا يمكنك استخدام بعض الرموز مثل + - * / وغيرها كما لا يمكنك بدء اسم الدالة برقم ( بعض الرموز مسموحة مثل _ ) تماماً مثل المتغيرات
الآن جرب كتابة البرنامج التالي :
def test():
a = 5
b = 7
c = a + b
print c


test()

قمنا بتعريف الدالة test ووضعنا فيها الأوامر التالية :
تعريف المتغير a .. ثم تعريف المتغير b .. ثم تعريف المتغير c والذي قيمته تساوي مجموع قيمتي a و b .. ثم امر طباعة قيمة c ..

الآن لاحظ هذا الكود:
def ca():
a = 3
b = a * 2
print b

ca()
هذه الدالة ستقوم بضرب قيمة a وهي 3 بالعدد 2 وعرض الناتج .. ولكن ماذا لو أردنا إعطاء الدالة رقماً مخصصاً في كل مرة لتقوم بضربه وعرض الناتج ؟ مثلاً ماذا لو أردنا من الدالة أن تقوم بضرب العدد 3 ب 2 ثم بعدها تقوم بضرب العدد 5 ب 2 ؟
هنا نستخدم ما يسمى بالبارامترات parameters ( كما في المثال الأول ) .. انظر إلى الكود التالي :
def ca(a):
b = a * 2
print b

ca(3)

هنا قمنا بإضافة بارامتر وهو a إلى الدالة .. وهو بمثابة متغير مؤقت نقوم بتحديد قيمته عند استدعاء الدالة ... فعندما قمنا باستدعاء الدالة أضفنا العدد 3 بين القوسين .. فهنا نخبر الدالة أن المتغير a نريد أن تكون قيمته 3 .. فستعتبر الدالة أن قيمة a هي 3 وتنفذ الأوامر على هذا الأساس .. فإذا كتبنا
ca(10)
ستصبح قيمة a هي 10 وسيصبح الناتج 20 ..

يمكننا إضافة أكثر من بارامتر إلى الدالة ونفصل بينها بالفاصلة , لاحظ الكود التالي :
def calc(a,b):
c = a + b
print c

calc(2,3)
هذه الدالة فيها بارامتران وهما a و b .. ستقوم الدالة بجمعهما ووضع الناتج في الدالة c ثم طباعة قيمتها .. وعند استدعاء الدالة قمنا بتحديد قيمة المتغيرين a و b بالترتيب وفصلنا بينهما بإشارة الفاصلة ....

تبقت فكرة صغيرة عن الدوال نتركها للدرس القادم
#NullByteStream_team
#تعلم_البرمجة
#الدرس_السادس

الدوال functions - القسم الثاني

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

أولاً : القيمة الافتراضية للبارامتر
إذا أضفنا بارامتر للدالة ولكنه غير مهم مثلاً
def fun(a, b=5):
print a*b

هنا يمكننا استدعاء الدالة بالكود
fun(6,2)
فستقوم الدالة بإسناد القيمة 6 للمتغير a والقيمة 2 للمتغير b وضرب 6*2 وطباعة الناتج 12
ولكن يمكننا هنا استدعاء هذه الدالة بدون تعريف المتغير b .. لأنه معرف بقيمة افتراضية وهي 5
أي إذا استدعينا الدالة بالأمر
fun(3)
ستصبح قيمة a هي 3 وقيمة b لم نعرفها أثناء الاستدعاء فستسند القيمة الافتراضية إليها وهي 5 وسيظهر الناتج 15

أي بمعنى : لهذا المتغير قيمة افتراضية وهي 5 ... فإذا لم نقم بتحديد قيمة لهذا المتغير أثناء استدعاء الدالة فستعتبر الدالة أن قيمته هي 5 ... بينما في الحالات العادية في هذه الدالة مثلاً
def test(a, b):
print a*b

إذا لم نقم بتعريف المتغيرين a و b فستظهر رسالة خطأ
test(4) خطأ



الفكرة الثانية هي إرجاع قيمة للدالة return

يمكننا بعد تنفيذ مجموعة من الأوامر والحصول على الناتج أن نقوم بإرجاع هذه القيمة إلى الدالة .. أي تصبح الدالة بمثابة متغير قيمته هي هذه القيمة المرجعة
مثال:
def func(a,b):
c = a * b
return c
func(5,2)


هنا قامت الدالة بتعريف متغير c وقيمته هي حاصل ضرب a*b أي قيمته هي 10
ثم قامت بإرجاع القيمة c ... فأصبحت الدالة بمثابة متغير قيمته c
فإذا كتبنا الأمر
print func(5,2)

ستظهر النتيجة 10 .. أي أن الدالة أصبحت قيمتها 10 .. بينما إذا لم نرجع قيمة للدالة بالأمر return لن يظهر ناتج

مثال آخر

def calc(a,b):
c = a * b
return c
print ' the result of 5 * 2 is : '
print calc(5,2)



هناك ملاحظة صغيرة :
ربما حاولت كتابة كلمة باللغة العربية ضمن البرنامج ولكن ظهر خطأ .. السبب هو أن لغة البايثون تستخدم ترميزاً افتراضياً لا يدعم بعض اللغات كالعربية ..
لحل هذه المشكلة أضف السطر التالي في بداية البرنامج : ( أول سطر )

# -*- coding:utf8 -*-


#NullByteStream_team