بايثون العرب | Python Arab 🇵🇸


Гео и язык канала: Иран, Фарси
Категория: Технологии


...تعلم لغة برمجة بايثون .....

قنواتنا 》》 @Arab_Victory
حسابي على github 》》https://github.com/DrDataYE
.
موقعنا علئ الويب 》》https://cyber1101.com

Связанные каналы  |  Похожие каналы

Гео и язык канала
Иран, Фарси
Категория
Технологии
Статистика
Фильтр публикаций


Репост из: ‹ أسـٰ̲ـہدٰ بـٰ̲ـہغـٰ̲ـہدٰاٰدٰ ،| 🇮🇶 𖤇
⌯ ملاحظات حول ( Decorators ):
ـ = = = = = = = = = = = = = = = =
• الديكوريتر يمكنه أن يغلف أكثر من دالة في نفس الوقت، أو حتى يستخدم عدة ديكوريترات فوق نفس الدالة.
• الترتيب مهم عند استخدام أكثر من ديكوريتر، حيث ينفذ الديكوريتر الأقرب للدالة أولًا.
• يمكن استعمال الدوال المضمّنة مثل functools.wraps للحفاظ على معلومات الدالة الأصلية (مثل الاسم والتوثيق) بعد تغليفها.
• يمكن وضع استثناء داخل الديكوريتر لإيقاف البرنامج او التحقق من شروط معينه على سبيل المثال (التحقق من قوة كلمه المرور قبل حفظها في قواعد البيانات، التحقق من صلاحيات المستخدم قبل استخدام الداله، التحقق ما اذا كان المستخدم يملك اشتراك او قد انتهى، الخ...).
ـ = = = = = = = = = = = = = = = = = = = =


Репост из: ‹ أسـٰ̲ـہدٰ بـٰ̲ـہغـٰ̲ـہدٰاٰدٰ ،| 🇮🇶 𖤇
⌯ الديكوريتر ( Decorators ) :
ـ = = = = = = = = = = = = = = =
• الديكوريتر (أو ما يعرف بالمُعلِّق الوظيفي في بايثون) هو أسلوب برمجي يُستعمل للتعديل على سلوك الدوال أو الكلاسات دون الحاجة إلى التعديل على بنية الكود الأصلي.

• يتم ذلك عن طريق تغليف الدالة/الكلاس بدالة خارجية (تسمى الديكوريتر) تضيف أو تحسّن وظائف معيّنة قبل أو بعد أو حتى أثناء تنفيذ الدالة الأساسية.

⌯ كيف نُعرِّف (نستخدم) الديكوريتر ؟
ـ = = = = = = = = = = = = = = = = =
• عادةً يُنشأ الديكوريتر بواسطة دالة عليا ( Higher Order Function ) تستقبل دالة كمدخل، ثم تُرجع دالة جديدة بداخلها، تحتوي على كود إضافي أو معدل (التغليف).

مثال بسيط :

def my_decorator(func):
def wrapper():
print("قبل تنفيذ الدالة ...")
func()
print("بعد تنفيذ الدالة ...")
return wrapper

@my_decorator
def say_hello():
print("مرحباً بالجميع!")

say_hello()
هنا:

1. ‏تُعرَّف الدالة my_decorator التي تستقبل الدالة func كوسيط.


2. ‏تُنشأ داخلها دالة أخرى اسمها wrapper تُنفذ أي كود إضافي قبل وبعد استدعاء func().


3. عندما نضع
@my_decorator فوق الدالة say_hello، فهذا يعني أننا نطبّق التغليف نفسه على الدالة say_hello.


⌯ استخدامات الديكوريتر الشائعة :
ـ = = = = = = = = = = = = = = = = = = = =
• تسجيل النشاط Logging: مثلاً تسجيل وقت تنفيذ الدالة أو القيم المعادة.
• التأكد من الصلاحيات Checking Permissions: مثل أن يُنفذ كود معيّن فقط إن كان المستخدم لديه الصلاحيات المناسبة.
• قياس الأداء Performance Measurement: حساب المدة الزمنية التي تستغرقها الدالة في التنفيذ.
• التخزين المؤقت Caching: لتسريع استدعاء الدوال ذات الحسابات الثقيلة بتخزين نتائجها وإعادة استخدام النتيجة المخبأة عند الاستدعاء مرة أخرى.

⌯ ديكوريتر الدوال والدوال ذات الوسائط ( Arguments ) :
ـ = = = = = = = = = = = = = = = = = = = =
• يمكن استخدام الديكوريتر مع دوال تأخذ وسائط، بحيث يتم تمرير تلك الوسائط للـ wrapper.

مثال:

def decorator_with_args(func):
def wrapper(*args, **kwargs):
print("تم استدعاء الدالة بالوسائط التالية:", args, kwargs)
return func(*args, **kwargs)
return wrapper

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

result = add(3, 5)
print("النتيجة:", result)
في هذا المثال:

1. نستخدم *args و **kwargs داخل wrapper حتى نلتقط أي عدد من الوسائط.

2. نطبع الوسائط قبل أن ننفذ الدالة الأصلية.
3. نعيد الناتج النهائي للدالة add.


⌯ ديكوريتر الكلاسات ( Class Decorators ) :
ـ = = = = = = = = = = = = = = = = = = = =
• يمكن أيضاً تطبيق ديكوريتر على الكلاسات بوضع
@decorator_name فوق تعريف الكلاس.
• يتم تمرير الكلاس نفسه إلى الديكوريتر كوسيط، ثم يُعاد كلاس جديد أو نفس الكلاس مع تعديل أو إضافة بعض الخصائص عليه.

مثال بسيط :

def class_decorator(cls):
class NewClass(cls):
def new_method(self):
print("هذه دالة جديدة تمت إضافتها عن طريق الديكوريتر")
return NewClass

@class_decorator
class MyClass:
def original_method(self):
print("هذه الدالة الأصلية من MyClass")

obj = MyClass()
obj.original_method()
obj.new_method()
هنا:

1. يستقبل الديكوريتر class_decorator الكلاس MyClass.

2. ننشئ كلاس جديد اسمه NewClass يرث من MyClass ويحتوي على دالة إضافية.

3. نعيد هذا الكلاس الجديد بدلًا من الأصلي، فيكون بالإمكان استدعاء الدالة الجديدة.

4. كما لايقتصر استخدامه على الكلاسات فقط بل على الدوال أيضاً على سبيل المثال

def check(clc):
def comp(a, b):
if a > 0 and b > 0:
print("pass")
clc(a, b)
else:
print("error")
return comp

@check
def calculator(a, b):
print(a + b)

calculator(0, 5)
في هذا المثال قمنا بتعريف (chack) يقوم بفحص الاعداد اذا كانت اكبر من 0 ومن ثم قمنا باستخدامها في داله (calculator).


Репост из: Kali Linux 🇵🇸
😂🔥




Репост из: Kali Linux 🇵🇸
بفضل الله يتصدر حسابنا علئ github المركز الاول في اليمن🔥

github :
https://github.com/DrDataYE
analysis:
https://committers.top/yemen


Репост из: فرقة أنصار الله الإنشادية
Видео недоступно для предпросмотра
Смотреть в Telegram
سيد الوعد - فرقة أنصار الله 1446هـ

aparat.com/v/xkk79v9
www.mmy.ye/334424


Репост из: كتائب الشهيد عز الدين القسام
قال رسول الله (ﷺ) : "مَنْ جهَّزَ غَازِيًا في سبيلِ اللَّهِ فَقَدْ غَزَا، ومنْ خَلَفَ غَازيًا في أَهْلِهِ بخَيْر فَقَدْ غزَا"

🔻للدعم والتبرع لكتائب القسام؛ التواصل عبر البريد الإلكتروني:

fund@alqassam.ps

📬 ردنا على رسائلكم قد يصلكم في صندوق البريد العشوائي أو الغير هام "spam/junk mail"؛ وليس في البريد الأساسي.

🔖 يتم الرد على رسائلكم الكريمة خلال أسبوع؛ علماً أنه لا توجد أي وسائل أو قنوات إلكترونية أخرى للتبرع للكتائب.

🚫 هذه مجموعة من الايميلات والقنوات الوهمية التي لا علاقة لنا بها:
❌Alhamdull*h101
❌Gaza_*_2024
❌ +96171***512
❌ +970594***030
fund.alqassam.ps@gmail.com
fund.ps.alqassam@gmail.com
alqassam.fund.ps@gmail.com
t.me/Aym***alah0123
t.me/ASD***23
t.me/alqe***m.bot


القناه للبيع للي بده يشتري يتواصل معي @DrDataYE


Репост из: Kali Linux 🇵🇸
دعمكم يهمنا!

أصدقائي الأعزاء، 
للاستمرار في تقديم المحتوى والخدمات الأفضل لكم، يمكنكم دعمنا بمساهمة بسيطة. كل ما عليكم هو: 
📌 مسح رمز الـ QR المرفق بالصورة 
أو 
📌 الدخول على الرابط التالي: 
🔗 https://s.binance.com/CVF5LUrs 

شكراً لكم على دعمكم وثقتكم بنا! 🙏❤️‍🔥


Репост из: Kali Linux 🇵🇸
Видео недоступно для предпросмотра
Смотреть в Telegram
يا #خائن_الحرمين 🇸🇦 ..!!


🔔 إعلان هام! 🌟

نود إبلاغكم بأنه قد تم إنشاء قناة جديدة بديلة عن القناة التي فقدناها سابقًا. 📂✨
سيتم النشر في هذه القناة بمشيئة الله، مع الحرص على تقديم المحتوى الذي يثري مسيرتكم في تعلم نظام لينكس 🐧💻.

💡 نسعى دائمًا لتلبية احتياجاتكم ومواكبة تطلعاتكم في عالم التقنية.

📌 للانضمام للقناة الجديدة، يمكنكم زيارة الرابط التالي: https://t.me/NewKali 🚀📲

معًا نحو المعرفة والتميز! 💪🔧


Видео недоступно для предпросмотра
Смотреть в Telegram


Видео недоступно для предпросмотра
Смотреть в Telegram


مشروع التاني
Опрос
  •   قراءة الطقس
  •   آلة الحاسبة
  •   توليد كلمات سر عشوائية
250 голосов


Видео недоступно для предпросмотра
Смотреть в Telegram
المشروع الأول صنع أداة تخمين مسارات المواقع


هل تريدون مشاريع عبارة عن
Опрос
  •   بث
  •   فيديو
203 голосов


هل تريدون تحديات أو مشاريع
Опрос
  •   مشاريع
  •   تحديات
176 голосов




Видео недоступно для предпросмотра
Смотреть в Telegram
الختام class and import


Видео недоступно для предпросмотра
Смотреть в Telegram
تكملت function

Показано 20 последних публикаций.