Python static in Python

تم تحميل الصفحة في 0,6681999 ثانية
static in Python

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,707
الإعجابات
2,160
النقاط
198
الإقامة
webs1.net
السلام عليكم ورحمة الله وبركاته

كيفية عمل static method في لغة بايثون

كلنا يعلم ان الـ static يتم اضافة القيم اليه بشكل مباشر

وهذا مثال :


Python:
class User:

    @staticmethod
    def name(self,name=None):
        self.Usr = name
        return self.Usr

if __name__ == '__main__':
    User.name = 'Abdullah'
    print(User.name)
اعتقد المثال واضح لا يحتاج شرح

هذي طريقة عمل الـ static في لغة بايثون

--

شرحت كل ما يتعلق بالـ OOP في لغة بايثون لن تجد شروحات في المواقع العربيه فيما يخص الـ OOP بشكل كامل اطلاقآ سوى في مجتمع نقطة التطوير ..

بالتوفيق للجميع

--
 
إنضم
18 فبراير 2016
المشاركات
721
الإعجابات
610
النقاط
93
الإقامة
Gaza
شرح بسيط و متواضع مثلك يا صديقي ,

وايضاَ لغة البايثون متواضعة لانها ليست معقد ولا تحتاج الي كتابة اكواد كثيرة

كود واحد فقط يستغني عن الكل

بتوفيق يا صديقي
 

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,707
الإعجابات
2,160
النقاط
198
الإقامة
webs1.net
طريقة اخرى للـ static method

Python:
class User:
    
    @staticmethod
    def name(self,name):
        self.Name = name
        return self.Name
    
    @staticmethod
    def Age(self,Age):
        self.age = Age
        return self.age


if __name__ == '__main__':
    print(User.name(User,'Abdullah'))
    print(User.Age(User,22))
 
إنضم
2 نوفمبر 2012
المشاركات
3,405
الإعجابات
2,872
النقاط
113
العمر
30
الإقامة
Algeria
جزاك الله خيرا اخي عبد الله على ما تقدمه لنا
جعلها الله في ميزان حسناتك

لدي استفسارين ان امكن
هل الستاتيك مثل اللغات الاخرى, يعني مثلا حسب ما اعرف والله اعلم في السي شارب تعني ستاتيك لدالة انها معرفة ويمكن الوصول اليها من اي مكان بالمشروع ؟

رأيت رمز @ فتذكرت الزخارف ما الفرق بينها وبين الزخارف , صراحة لم أستوعب decorator أبدا
 

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,707
الإعجابات
2,160
النقاط
198
الإقامة
webs1.net
نعم اخي العزيز استاتيك مثل باقي اللغات الاخرى

اما بخصوص الـ @ تشير للداله

مثلآ الـ staticmethod هيا داله ونشير اليها بالرمز @

لاحظ هذا المثال :

Python:
def UserName(function):
    def Name(name):
        print('Your Name is: {0}'.format(name))
        return function(name)
    return Name


@UserName
def MyName(name):
    return name

if __name__ == '__main__':
    MyName('Abdullah')

الـ @ تشير الى Username

بداخله داله بأسم Name

بخصوص الـ function ليس الضروري تسميته بهذا الاسم نستطيع تسميته بأسماء اخرى


المثال يبين المقصد اعتقد واضح


والـ @staticmethod داله موجوده في البايثون نستدعيها لعمله


والـ @ ليس فقط للدوال بل للكلاسات والخصائص ايضآ
 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل