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


Channel's geo and language: Iran, Persian
Category: Technologies


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

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

Related channels  |  Similar channels

Channel's geo and language
Iran, Persian
Statistics
Posts filter


غزه انتصرت 🔥🔥🔥


Forward from: Kali Linux 🇵🇸
الصوره التي في الاعلئ لجباليا غزة
و الصوره التي في الاسفل للوس انجلوس

فما اقرب اليوم بالأمس وما ابعده منه.


Forward from: Kali Linux 🇵🇸
هددوا بحرق الشرق الأوسط، فجاء الرد الإلهي في اليوم نفسه واحترقت أمريكا.

استمروا في حرق غزة لمدة عام ونصف، فأحرق الله مدنهم في يومين، وما زالت تحترق.

فأين أنتم يا من تخافون أمريكا ولا تهابون الله ؟


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


Forward from: ‹ أسـٰ̲ـہدٰ بـٰ̲ـہغـٰ̲ـہدٰاٰدٰ ،| 🇮🇶 𖤇
⌯ الديكوريتر ( 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).


Forward from: Kali Linux 🇵🇸
😂🔥




Forward from: Kali Linux 🇵🇸
بفضل الله يتصدر حسابنا علئ github المركز الاول في اليمن🔥

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


Forward from: فرقة أنصار الله الإنشادية
Video is unavailable for watching
Show in Telegram
سيد الوعد - فرقة أنصار الله 1446هـ

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


Forward from: كتائب الشهيد عز الدين القسام
قال رسول الله (ﷺ) : "مَنْ جهَّزَ غَازِيًا في سبيلِ اللَّهِ فَقَدْ غَزَا، ومنْ خَلَفَ غَازيًا في أَهْلِهِ بخَيْر فَقَدْ غزَا"

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

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


Forward from: Kali Linux 🇵🇸
دعمكم يهمنا!

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

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


Forward from: Kali Linux 🇵🇸
Video is unavailable for watching
Show in Telegram
يا #خائن_الحرمين 🇸🇦 ..!!


🔔 إعلان هام! 🌟

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

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

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

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


Video is unavailable for watching
Show in Telegram


Video is unavailable for watching
Show in Telegram


مشروع التاني
Poll
  •   قراءة الطقس
  •   آلة الحاسبة
  •   توليد كلمات سر عشوائية
250 votes


Video is unavailable for watching
Show in Telegram
المشروع الأول صنع أداة تخمين مسارات المواقع


هل تريدون مشاريع عبارة عن
Poll
  •   بث
  •   فيديو
203 votes


هل تريدون تحديات أو مشاريع
Poll
  •   مشاريع
  •   تحديات
177 votes

20 last posts shown.