منتدي برامج الخليج لجميع برامج الكمبيوتر والالعاب
يجب عليك التسجيل في المنتدي حتي تستطيع نشر مواضيع او تحميل اعاب او برامج

انضم إلى المنتدى ، فالأمر سريع وسهل

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

اذهب الى الأسفل
avatar
Admin
Admin
المساهمات : 291
تاريخ التسجيل : 14/02/2018
https://gulfsoft.yoo7.com

الدرس السابع عشر : المكتبات و الحزم اساسيات بايثون Empty الدرس السابع عشر : المكتبات و الحزم اساسيات بايثون

الأحد أبريل 12, 2020 12:49 am
الدرس السابع عشر : المكتبات و الحزم اساسيات بايثون Download






https://www.gulf-software.com/2020/04/blog-post_77.html



الدرس السابع عشر : المكتبات و الحزم اساسيات

بايثون

الدرس السابع عشر : المكتبات و الحزم اساسيات لغة البايثون وطريقة التعامل مع المكتبات الخرجيةفي بايثون و الدرس السابع عشر : المكتبات و الحزم اساسيات عن طريق اسهل الطرق في التعليم العمل علي المكتبات يحتوي علي الاتصال بمتكبة موجودة علي جهازك والاستفادة من المكتبات لتضيف الي اللغة مزيد من الديناميكية بطريقة سهلة وفعال وتساعد علي الحصول علي مميزات اكثر ومن اهم المكتبات التي تحتوي علي التعامل مع الملفات والمجلدات والتعامل مع البيانات في نظم قواعد البيانات والاتصال بالسيرفر فيمكنك انشاء سكربت يعمل اونلاين علي الانترنت وذلك للاستفادة من الخصائص التي يقدمها مزودي الخدمة في شبكات الانترنت وتستطيع العمل علي باقي المكتبات مثل مكتبات الصوت والفيديو والملفات الكثيرة المتنوعة في للغة حتي توصل الي افضل تصميم للمشروع الذي تقوم به فمن المعروف الدرس السابع عشر : المكتبات و الحزم اساسياتالبايثون عن طريق انشاء النماذج التي تساعدك علي اظهار مشروعك امام شاشة المستخدم بطبيعة الحال يتميز باعطائك مميزات كبيرة وخاصة انك تستطيع انشاء سكريبت يقوم بقرائه قاعدة البيانات والكتابة فيها ويمكنك انشاء جدول لتضع فية الملفات مثل الصور والبيانات الاخري التي يمكنك حفظها في قاعدة بيانات واشهرها mysqlوهي تعتبر افضل نظاملقواعد البيانات وخاصة التي تكون مجانية وتتطيع تخزين مليارات من البيانات مثل بيانات فيسبوك ويوتيوب وبالمناسبة يوتيوب مصنع بالبايثون وهذا س نجاحة الدرس السابع عشر : المكتبات و الحزم اساسيات





مكتبات بايثون

الدرس السابع عشر : المكتبات و الحزم اساسيات

تعرفنا في الدرس السابق على المكتبة os، اليوم سنتعلم كيفية برمجة مكتبات بايثون (python libs/modules) خاصة بنا لإستخدامها في برامجنا.

على سبيل المثال بايثون لا تقوم بتوفير الدوال الخاصة بالرياضيات مباشرة :

>>> cos(30)

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
cos(30)
NameError: name 'cos' is not defined

إذا كيف أتعامل مع الدوال الرياضية ؟

الدرس السابع عشر : المكتبات و الحزم اساسيات

علينا إستدعاء المكتبة المسماة math و هي مكتبة تحتوي على العديد من الدوال الرياضية، كالتالي :

import math

كما يمكننا الإستفادة من دوالها كالتالي :

>>> import math
>>> math.cos(30)
0.15425144988758405
>>> math.sin(30)
-0.9880316240928618
>>> math.factorial(3)
6

لكن أين توجد هذه المكتبات ؟

مفسر بايثون لا يعلم عن كل ملف بايثون في جهازك لكن هناك بعض الأماكن التي يبحث فيها عن المكتبات فور إستدعائها مثل المجلد الحالي للسكربت و مجلد بايثون و مجلد site-package (يفضل إستخدامه عند إظافة مكتبات بايثون خاصة بك).

للحصول على القائمة كاملة التي يبحث فيها المفسر نستعمل الدالة path الموجودة في مكتبة sys.

>>> import sys
>>> sys.path
['', 'C:\\Python27\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages']

مكتبتي الأولى

سننشئ مكتبة للرياضيات إسمها MyMath تقوم بالعمليات الأساسية +,-,*,/ :

#################
# MyMath #
# VERSION : 0.1 #
#################

def add(x, y) :
return x + y
def sub(x, y) :
return x - y
def mul(x, y) :
return x * y
def div(x, y) :
return x / y

قم بحفظ هذا الملف بإسم MyMath.py في المسار التالي :

/usr/lib/python/site-packages

إستخدام المكتبة

نستدعي المكتبة كالتالي :

import MyMath

شرح إستخدام المكتبة عن طريق سكربت :

#!/usr/bin/python
import MyMath
print MyMath.add(1, 9)
print MyMath.sub(10, 2)
print MyMath.mul(5, 5)
print MyMath.div(25, 5)

عند التنفيذ :

>>> ================================ RESTART ================================
>>>
10
8
25
5
>>>

النسخة الثانية من مكتبة MyMath

سنقوم بتطوير module السابقة بإضافة الدالة pwr التي تحسب القوة (الأس)، و الدالة rod التي تحسب باقي قسمة عدد على عدد، و الدالة sqr التي تحسب الجذر. كالتالي :

#################
# MyMath #
# VERSION : 0.2 #
#################
الدرس السابع عشر : المكتبات و الحزم اساسيات
def add(x, y) :
return x + y
def sub(x, y) :
return x - y
def mul(x, y) :
return x * y
def div(x, y) :
return x / y
def pwr(x, y) :
return x ** y
def rod(x, y) :
return x % y
def sqr(x) :
return x ** 0.5

هذا السكربت يستخدم النسخة الثانية من المكتبة :

#!/usr/bin/python
import MyMath
print MyMath.add(1, 9)
print MyMath.sub(10, 2)
print MyMath.mul(5, 5)
print MyMath.div(25, 5)
print MyMath.pwr(3, 2)
print MyMath.rod(9, 2)
print MyMath.sqr(9)

عند التنفيذ :

>>> ================================ RESTART ================================
>>>
10
8
25
5
9
1
3.0
>>>

النسخة الثالثة من مكتبة MyMath (كائنية)

سنقوم بتطوير المكتبة لتتبع أسلوب البرمجة الكائنية المنحى. كالتالي :

#################
# MyMath #
# VERSION : 0.3 #
#################

class calc(object) :
def add(self, x, y) :
return x + y
def sub(self, x, y) :
return x - y
def mul(self, x, y) :
return x * y
def div(self, x, y) :
return x / y
def pwr(self, x, y) :
return x ** y
def rod(self,x, y) :
return x % y
def sqr(self, x) :
return x ** 0.5
calc = calc()

هذا السكربت يستخدم النسخة الثالثة من المكتبة :

#!/usr/bin/python
import MyMath
print MyMath.calc.add(1, 9)
print MyMath.calc.sub(10, 2)
print MyMath.calc.mul(5, 5)
print MyMath.calc.div(25, 5)
print MyMath.calc.pwr(3, 2)
print MyMath.calc.rod(9, 2)
print MyMath.calc.sqr(9)

عند التنفيذ :

>>> ================================ RESTART ================================
>>>
10
8
25
5
9
1
3.0
>>> الدرس السابع عشر : المكتبات و الحزم اساسيات



الحزم Packages

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

حزمتي الأولى - My first Package

سنقوم بتقسيم المكتبة MyMath الى 5 مكتبات كل مكتبة تحتوي على دالة رياضية، و نضع هذه المكتبات في حزمة بإسم MyMath.

أولا ننشئ مجلد جديد بإسم MyMath في المسار التالي :

/usr/lib/python/site-packages

هذا المجلد الأن ماهو إلا مجلد ليصبح حزمة علينا إنشاء ملف بإسم __init__ و بامتداد py في هذا المجلد، بإمكاننا ترك الملف فارغ لكن من الأفضل كتابة تعليقات فيه، هذا هو ملف __init__ :

"""
This package contains the following modules :
-- add --
-- sub --
-- mul --
-- div --
"""

المكتبة add :

################
# add module #
# add.py #
################

def add(x, y) :
return x + y

المكتبة sub :

################
# sub module #
# sub.py #
################

def sub(x, y) :
return x - y

المكتبة mul :

################
# mul module #
# mul.py #
################

def mul(x, y) :
return x * y

المكتبة div :

################
# div module #
# div.py #
################

def div(x, y) :
return x / y

سكربت يشرح إستخدام الحزمة MyMath :

#!/usr/bin/python
from MyMath import add, sub, mul, div
print add.add(1, 9)
print sub.sub(10, 2)
print mul.mul(5, 5)
print div.div(25, 5)

عند التنفيذ :

>>> ================================ RESTART ================================
>>>
10
8
25
5
>>>

الموضوع الاصلي
من هنا






الرجوع الى أعلى الصفحة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى