Adam Ebrahim نشر 30 مايو 2021 أرسل تقرير نشر 30 مايو 2021 ما هي أفضل طريقة لاستدعاء دالة معينة من خلال نص (اسم الدالة) في برنامج بايثون. على سبيل المثال ، لنفترض أن لديّ الصنف foo بداخله method تسمى bar ، ولدي نص يحتوي على كلمة "bar". ما هي أفضل طريقة لاستدعاء foo.bar()؟ اقتباس
0 محمد أبو عواد نشر 30 مايو 2021 أرسل تقرير نشر 30 مايو 2021 لنفترض انه لدينا الصنف foo وبداخله الدالة bar وظيفتها طباعة كلمة yes class foo: def bar(self): print('yes') يمكننا الوصول للدالة bar عن طريق انشاء كائن من الصنف foo ومن ثم استخدام الدالة p1 = foo() p1.bar() كما تلاحظ انشات كائن من الصنف ومن ثم استخدم الدالة التي بداخله bar سوف تكون النتيجة كالتالي yes اقتباس
1 Wael Aljamal نشر 30 مايو 2021 أرسل تقرير نشر 30 مايو 2021 يتم استدعاء دالة عن طريق استخدام متحول نصي يحوي الاسم كالتالي: getattr يقوم بإعادة (method | attribute) من الصنف المستدعاة عليه نقوم بتنفيذ الدالة المعادة # تضمين الصنف import foo # جلب الدالة bar = 'bar' method_bar = getattr(foo, bar) # الاستدعاء result = method_bar() ويمكن تنفيذها مباشرة كالتالي: result = getattr(foo, 'bar')() وأيضا يمكننا باستخدام الدالتين حسب scope: locals()["bar"]() globals()["bar"]() اقتباس
السؤال
Adam Ebrahim
ما هي أفضل طريقة لاستدعاء دالة معينة من خلال نص (اسم الدالة) في برنامج بايثون. على سبيل المثال ، لنفترض أن لديّ الصنف foo بداخله method تسمى bar ، ولدي نص يحتوي على كلمة "bar". ما هي أفضل طريقة لاستدعاء foo.bar()؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.