إنشاء واستخدام الوحدات والحزم في Python
مع نمو مشاريع 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، وهو أمر أساسي لتنظيم الشيفرة البرمجية الخاصة بك وجعلها أكثر قابلية لإعادة الاستخدام والصيانة.
اترك تعليقاً