I. مقدمة

أ. الغرض من هذه المادة

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

ب. نظرة عامة على الموضوعات التي تم تناولها

في هذه المقالة سوف نغطي المواضيع التالية:

  1. كتابة كود Pythonic: اكتب كود Python نظيفًا وفعالًا واصطلاحيًا باستخدام الفهم ووظائف lambda ووسيطات الوظيفة والحجج المتغيرة.
  2. البرمجة الشيئية لبايثون (OOP): فهم أساسيات OOP في Python ، بما في ذلك الفئات والكائنات والوراثة ومبدأ "كل شيء هو كائن".
  3. معالجة الاستثناءات: تعامل مع استثناءات Python ، وكيفية إدارتها بشكل صحيح ، وأفضل الممارسات لتجنب المزالق الشائعة.
  4. إدارة الملفات: معالجة الملفات الرئيسية والأدلة وإنشاء الوحدات النمطية واستخدام حزم Python لتنظيم التعليمات البرمجية وإدارتها بشكل فعال.

تذكر أن الهدف هو تقديم هذه المفاهيم بطريقة بسيطة يمكن الاعتماد عليها ، لذلك لا تتردد في طرح الأسئلة وطلب التوضيح في قسم التعليقات. ترميز سعيد!

ثانيًا. اكتب كود Pythonic

في هذا القسم ، سوف نستكشف تقنيات الترميز Pythonic مع أمثلة التعليمات البرمجية العملية.

أ. الفهم

تساعدك الفهمات على إنشاء هياكل بيانات جديدة بإيجاز. سنغطي ثلاثة أنواع من الفهم مع أمثلة التعليمات البرمجية:

1. List Comprehensions: استخدم سطرًا واحدًا من التعليمات البرمجية لإنشاء قائمة جديدة.

مثال: قم بإنشاء قائمة مربعات للأرقام من 1 إلى 10.

squares = [x ** 2 for x in range(1, 11)]
print(squares)

2. تعيين الفهم: إنشاء مجموعات باستخدام سطر واحد من التعليمات البرمجية.

مثال: أنشئ مجموعة من الأرقام الزوجية من 1 إلى 20.

even_numbers = {x for x in range(1, 21) if x % 2 == 0}
print(even_numbers)

3. فهم القاموس: أنشئ قواميس بأزواج من القيم الرئيسية باستخدام سطر واحد من التعليمات البرمجية.

مثال: أنشئ قاموسًا باستخدام الأرقام كمفاتيح ومربعاتها كقيم.

number_squares = {x: x ** 2 for x in range(1, 6)}
print(number_squares)

ب. بيثون لامدا

وظائف لامدا هي وظائف صغيرة مجهولة المصدر. سنغطي قواعدها اللغوية وحالات الاستخدام والقيود مع أمثلة التعليمات البرمجية:

1. وظائف Lambda: إنشاء وظائف بسيطة لمرة واحدة.

مثال: قم بفرز قائمة المجموعات حسب العنصر الثاني.

pairs = [(1, 'one'), (2, 'two'), (3, 'three')]
sorted_pairs = sorted(pairs, key=lambda x: x[1])
print(sorted_pairs)

2. حالات الاستخدام والقيود: وظائف Lambda هي الأنسب للعمليات البسيطة.

مثال: تصفية الأرقام الزوجية من قائمة باستخدام لامدا.

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)

الحجج الوظيفية

سنستكشف أنواعًا مختلفة من وسيطات الوظائف مع أمثلة التعليمات البرمجية:

1. الوسيطات الافتراضية: قم بتعيين القيم الافتراضية لمعلمات الوظيفة.

مثال: قم بتحية مستخدم باسم افتراضي.

def greet(name="Guest"):
    print(f"Hello, {name}!")

greet()
greet("Alice")

2. وسيطات الكلمات الرئيسية: اجعل استدعاءات الوظائف أكثر قابلية للقراءة عن طريق تحديد أسماء المعلمات.

مثال: اطبع تفاصيل المستخدم باستخدام وسيطات الكلمات الرئيسية.

def print_user_details(age, name):
    print(f"Name: {name}, Age: {age}")

print_user_details(age=25, name="Bob")

3. الحجج الموضعية: مرر عددًا محددًا من الوسائط بترتيب معين.

مثال: احسب حاصل ضرب عددين.

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

result = product(5, 3)
print(result)

د - الحجج المتغيرة

تعرف على كيفية استخدام * args و ** kwargs لقبول عدد متنوع من الوسائط:

1. * args: قم بتمرير عدد متغير من الوسائط الموضعية.

مثال: احسب مجموع عدد غير معروف من الوسائط.

def sum_numbers(*args):
    return sum(args)

result = sum_numbers(1, 2, 3, 4, 5)
print(result)

2. ** kwargs: قم بتمرير عدد متغير من وسيطات الكلمات الرئيسية.

مثال: اطبع تفاصيل المستخدم بعدد غير معروف من السمات.

def print_user_details(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_user_details(name="Alice", age=30, city="New York")

ثالثا. Python OOP

في هذا القسم ، سوف نستكشف مفاهيم البرمجة الشيئية (OOP) في Python ، والتي ستساعدك على كتابة تعليمات برمجية أكثر تنظيماً وقابلية للصيانة.

أ. فهم OOP

سنقدم لك المفاهيم الأساسية وفوائد OOP:

مفاهيم البرمجة الشيئية : كل شيء عن الفئات ، الكائنات ، الميراث ، التغليف ، وتعدد الأشكال.

2. فوائد OOP: يمكن أن تجعل OOP شفرتك أكثر نمطية وقابلة لإعادة الاستخدام وقابلة للصيانة ، مما يؤدي في النهاية إلى تحسين جودة مشاريعك.

الفئات والكائنات

سنستكشف كيفية تحديد الفئات والكائنات في Python والعمل معها:

1. تحديد الفئات: قم بإنشاء فئة في Python وحدد سماتها وطرقها باستخدام أمثلة بسيطة.

مثال:

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

    def bark(self):
        print(f"{self.name} says woof!")

2. إنشاء الكائنات: إنشاء مثيلات لفئة ، وهي كائنات فردية يمكنك التفاعل معها.

مثال:

my_dog = Dog("Buddy", "Golden Retriever")
my_dog.bark()

3. متغيرات الفئة والمثيل: تعرف على الفرق بين متغيرات الفئة ، والتي يتم مشاركتها بين جميع الأمثلة ، ومتغيرات الحالة ، والتي تكون فريدة لكل مثيل.

مثال:

class Dog:
    species = "Canis lupus familiaris"  # Class variable

    def __init__(self, name, breed):
        self.name = name  # Instance variable
        self.breed = breed  # Instance variable

جيم كل شيء هو كائن

تعرف على نموذج كائن Python والوظائف المضمنة للعمل مع الكائنات:

1. نموذج كائن Python: كل شيء في Python هو كائن ، بما في ذلك الوظائف والوحدات النمطية وحتى أنواع البيانات البسيطة مثل الأعداد الصحيحة والسلاسل.

2. وظائف "النوع" و "المعرّف": استخدم وظيفة "النوع" لتحديد فئة الكائن ووظيفة "المعرّف" للحصول على المعرّف الفريد الخاص به.

مثال:

print(type(42))  # Output: <class 'int'>
print(id(42))  # Output: Unique identifier (e.g., 10915808)

د. وراثة بايثون

الغوص في الميراث في Python ، بما في ذلك الوراثة الفردية والمتعددة وترتيب حل الطريقة:

1. الوراثة الفردية: إنشاء فئات فرعية ترث السمات والطرق من فئة أصل.

مثال:

class Animal:
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        print("Woof!")

2. الوراثة المتعددة: إنشاء فئات موروثة من عدة فئات رئيسية.

مثال:

class A:
    def method(self):
        print("A")

class B:
    def method(self):
        print("B")

class C(A, B):
    pass

c = C()
c.method()  # Output: A

3. ترتيب دقة الطريقة: يحدد الترتيب الذي سيتم البحث فيه عن طرق في تسلسل هرمي للفئة.

مثال:

print(C.mro())  # Output: [<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>]

E. أمثلة OOP

سنرشدك عبر بعض الأمثلة العملية لتوضيح مفاهيم OOP أثناء العمل:

1. إنشاء تسلسل هرمي للفئة بسيط: قم ببناء تسلسل هرمي للفئة يعرض الوراثة وتجاوز الطريقة.

مثال:

class Animal:
    def speak(self):
        print("The animal makes a sound.")

class Dog(Animal):
    def speak(self):
        print("The dog barks.")

class Cat(Animal):
    def speak(self):
        print("The cat meows.")

dog = Dog()
cat = Cat()

dog.speak()
cat.speak()

2. تعدد الأشكال وتجاوز الطريقة: يسمح لك تعدد الأشكال باستخدام تطبيقات مختلفة لنفس الطريقة في فئات فرعية مختلفة.

مثال:

def make_sound(animal):
    animal.speak()

make_sound(dog)  # Output: The dog barks.
make_sound(cat)  # Output: The cat meows.

رابعا. معالجة الاستثناء

في هذا القسم ، سنستكشف معالجة استثناءات Python ، وهو أمر ضروري لإنشاء كود قوي ومقاوم للخطأ.

أ. استثناءات بايثون

اكتشف الاستثناءات المضمنة في Python وكيفية إنشاء استثناءات مخصصة:

1. الاستثناءات المضمنة: ألق نظرة على الاستثناءات المضمنة الشائعة ، مثل ValueError و TypeError و FileNotFoundError ومتى تحدث.

مثال:

try:
    int("abc")
except ValueError:
    print("Oops! A ValueError occurred.")

2. الاستثناءات المخصصة: إنشاء استثناءات مخصصة ورفعها للتعامل مع حالات خطأ معينة.

مثال:

class CustomError(Exception):
    pass

try:
    raise CustomError("This is a custom error.")
except CustomError as e:
    print(f"Caught an exception: {e}")

B. معالجة الاستثناءات

تعرف على كيفية استخدام "حاول واستثناء " ، بالإضافة إلى " أخيرًا و آخر " ، لإدارة الاستثناءات في التعليمات البرمجية الخاصة بك:

1. "try" و "باستثناء" Blocks: تحقق من كيفية التقاط الاستثناءات ومعالجتها باستخدام قوالب try and except

مثال:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Oops! You tried to divide by zero.")

2. عبارات 'أخيرًا' و'آخر ': استخدم النهائية لتنفيذ التعليمات البرمجية بغض النظر عن حدوث استثناء ، وعبارة else لتشغيل التعليمات البرمجية عند عدم ظهور استثناءات.

مثال:

try:
    result = 10 / 2
except ZeroDivisionError:
    print("Oops! You tried to divide by zero.")
else:
    print("No exceptions were raised.")
finally:
    print("This code will always run.")

مراجعة: معالجة الاستثناءات

عزز فهمك للتعامل مع الاستثناءات مع أفضل الممارسات والمزالق الشائعة:

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

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

مثال على التقاط استثناءات محددة:

try:
    # Some code that might raise exceptions
except (ValueError, TypeError) as e:
    print(f"Caught an exception: {e}")

V. إدارة الملفات

في هذا القسم ، سوف نستكشف إدارة الملفات والأدلة والوحدات والحزم في Python.

أ. معالجة الملفات

تعرف على كيفية التعامل مع الملفات في Python ، بما في ذلك الفتح والإغلاق والقراءة والكتابة:

open () المضمنة وبيان with .

مثال:

with open("example.txt", "r") as file:
    # Process the file

2. قراءة وكتابة الملفات: فهم كيفية القراءة من الملفات والكتابة إليها باستخدام طرق مثل read () و readline () و readlines () و write () و writelines () .

مثال:

with open("example.txt", "r") as file:
    content = file.read()

with open("output.txt", "w") as file:
    file.write("Hello, world!")

3. أوضاع الملفات والتخزين المؤقت: ابحث في Google عن أوضاع الملفات المختلفة هذه ، مثل "r" و "w" و "a" و "x" ومجموعاتها مع "b" و "+".

مثال:

with open("example.txt", "rb") as file:
    # Process the binary file

ب. الدلائل

تعرف على كيفية العمل مع الدلائل في Python ، بما في ذلك إنشاء المحتويات وإزالتها والتنقل فيها وإدراجها في القائمة:

1. إنشاء الدلائل وإزالتها: ما يجب استيراده عند إنشاء الدلائل وإزالتها os.mkdir () و os.makedirs () و os.rmdir () و os.removedirs () .

مثال:

import os

os.mkdir("new_directory")
os.rmdir("new_directory")

2. تصفح الدلائل: فهم كيفية تغيير دليل العمل الحالي والحصول على مسار الدليل الحالي باستخدام وظائف os.chdir () و os.getcwd ()

مثال:

import os

os.chdir("/path/to/directory")
print(os.getcwd())

ج. إنشاء وحدات

اكتشف كيفية إنشاء واستيراد الوحدات النمطية لتنظيم التعليمات البرمجية الخاصة بك إلى وظائف وفئات:

1. استيراد الوحدات: تعرف على كيفية استيراد وحدات مخصصة ومضمنة باستخدام الاستيراد .

مثال:

import my_module

my_module.my_function()

2. تنظيم الكود في وظائف وفئات: فهم كيفية هيكلة الكود الخاص بك باستخدام الوظائف والفئات داخل الوحدات النمطية لتحسين التنظيم وإمكانية إعادة استخدام الكود.

حزم بايثون

اكتشف كيفية إنشاء حزم Python واستيرادها وتوزيعها وتثبيتها:

1. إنشاء واستيراد الحزم: تعرف على كيفية إنشاء الحزم من خلال تنظيم الوحدات في أدلة واستخدام __init__.py وكيفية استيراد الحزم والوحدات النمطية الخاصة بها.

مثال:

# Directory structure
# my_package/
#   __init__.py
#   my_module.py

# Importing from a package
from my_package import my_module

توزيع الحزم وتثبيتها: فهم كيفية توزيع حزم Python وتثبيتها باستخدام أدوات مثل setuptools ومستودعات الحزم مثل PyPI.

السادس. خاتمة

سننهي رحلة تعلم Python الخاصة بنا مع ملخص للموضوعات التي تمت تغطيتها ونقدم اقتراحات للخطوات التالية لمواصلة تعلم Python.

أ. خلاصة الموضوعات التي تمت تغطيتها

خلال هذه المقالة ، استكشفنا العديد من مفاهيم بايثون. فيما يلي ملخص موجز للموضوعات التي غطيناها:

  1. اكتب كود Pythonic: تعلمنا عن الفهم ، وظائف lambda ، وسيطات الوظيفة ، والحجج المتغيرة.
  2. البرمجة الموجهة للكائنات Python (OOP): قمنا بتغطية أساسيات OOP والفئات والكائنات ونموذج كائن Python والوراثة وأمثلة OOP.
  3. معالجة الاستثناءات: ناقشنا استثناءات Python والتعامل مع الاستثناءات وأفضل الممارسات.
  4. إدارة الملفات: استكشفنا معالجة الملفات ، والعمل مع الدلائل ، وإنشاء وحدات ، وحزم بايثون.

ب. الخطوات التالية لتعلم بايثون

الآن بعد أن أصبح لديك أساس متين في Python ، ضع في اعتبارك هذه الاقتراحات لتوسيع نطاق معرفتك:

  1. تعمق في مكتبات Python المضمنة وتعلم كيفية العمل مع مواضيع أكثر تقدمًا مثل الشبكات وكشف الويب وتحليل البيانات.
  2. استكشف أطر عمل Python الشائعة مثل Django و Flask لتطوير الويب ، أو TensorFlow و PyTorch للتعلم الآلي.
  3. انضم إلى المجتمعات والمنتديات عبر الإنترنت لمشاركة معرفتك وطرح الأسئلة والتعلم من الآخرين.
  4. شارك في تحديات البرمجة والهاكاثونات لاختبار مهاراتك والتعلم من تجارب حل المشكلات في العالم الحقيقي.
  5. استمر في بناء المشاريع وإنشاء محفظة لعرض عملك لأصحاب العمل أو العملاء المحتملين.

https://ahmedradwan.dev

تواصل معنا إذا كنت ترغب في الانضمام إلي وكتابة مقالات مع المهووسين 🙂