إنشاء واستخدام الوحدات والحزم في Python

Amine
15/09/2024

مع نمو مشاريع Python الخاصة بك في الحجم والتعقيد، من المهم تنظيم الشيفرة البرمجية الخاصة بك بطريقة تكون أكثر تنظيمًا وقابلة للصيانة. توفر Python القدرة على تجميع الشيفرة البرمجية المتعلقة في وحدات وحزم.

إنشاء وحدة

الوحدة هي ببساطة ملف يحتوي على شيفرة Python التي يمكن أن تعرف الدوال والفئات والمتغيرات. يمكنك استيراد الوحدة إلى ملف آخر لاستخدام وظائفها.

إنشاء وحدة بسيطة:

def greet(name):
    print(f"مرحبا، {name}!")

def add(a, b):
    return a + b

الآن، يمكنك استيراد هذه الوحدة واستخدامها في ملف آخر:

import mymodule

mymodule.greet("Alice")  # الإخراج: مرحبا، Alice!
result = mymodule.add(3, 4)
print(result)  # الإخراج: 7

استخدام from … import

يمكنك أيضًا استيراد دوال أو فئات محددة من وحدة باستخدام جملة from … import:

from mymodule import greet

greet("Bob")  # الإخراج: مرحبا، Bob!

إنشاء حزمة

الحزمة هي طريقة لتنظيم الوحدات ذات الصلة في تسلسل هرمي من الأدلة. الحزمة هي ببساطة دليل يحتوي على ملف __init__.py خاص واحد أو أكثر من الوحدات.

إنشاء حزمة بسيطة:

أنشئ دليلًا يسمى mypackage.

داخل mypackage، أنشئ ملفًا فارغًا باسم __init__.py (يحدد هذا الدليل كحزمة).

أنشئ ملف وحدة داخل mypackage باسم math_operations.py:

# mypackage/math_operations.py
def multiply(a, b):
    return a * b

def divide(a, b):
    if b == 0:
        raise ValueError("لا يمكن القسمة على الصفر.")
    return a / b

الآن، يمكنك استخدام هذه الحزمة في سكربت آخر:

from mypackage import math_operations

result1 = math_operations.multiply(4, 5)
print(result1)  # الإخراج: 20

result2 = math_operations.divide(10, 2)
print(result2)  # الإخراج: 5.0

التمارين

التمرين 1: أنشئ وحدة باسم string_utils.py تحتوي على دوال reverse_string و capitalize_words. استخدم هذه الوحدة في سكربت منفصل لعكس سلسلة نصية وجعل الكلمات في جملة تبدأ بحرف كبير.

# string_utils.py
def reverse_string(s):
    return s[::-1]

def capitalize_words(sentence):
    return ' '.join(word.capitalize() for word in sentence.split())

استخدام الوحدة:

import string_utils

print(string_utils.reverse_string("hello"))  # الإخراج: olleh
print(string_utils.capitalize_words("hello world"))  # الإخراج: Hello World

التمرين 2: أنشئ حزمة باسم geometry مع وحدة shapes.py تحتوي على دوال لحساب مساحة دائرة ومستطيل. استخدم هذه الدوال في سكربت آخر.

# هيكل الدليل:
# geometry/
#     __init__.py
#     shapes.py

# geometry/shapes.py
import math

def circle_area(radius):
    return math.pi * radius ** 2

def rectangle_area(width, height):
    return width * height

استخدام الحزمة:

from geometry import shapes

print(shapes.circle_area(5))  # الإخراج: 78.53981633974483
print(shapes.rectangle_area(4, 6))  # الإخراج: 24

التمرين 3: أنشئ ملف وحدة file_utils.py مع دوال لقراءة ملف وكتابة ملف. استخدم هذه الدوال في سكربت منفصل لقراءة محتوى ملف وكتابته إلى ملف آخر.

# file_utils.py
def read_file(filename):
    with open(filename, 'r') as file:
        return file.read()

def write_file(filename, content):
    with open(filename, 'w') as file:
        file.write(content)

استخدام الوحدة:

import file_utils

content = file_utils.read_file('input.txt')
file_utils.write_file('output.txt', content)

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

التعليقات

اترك تعليقاً