Adam Ebrahim نشر 30 مايو 2021 أرسل تقرير نشر 30 مايو 2021 ما هي أفضل طريقة لاستدعاء دالة معينة من خلال نص (اسم الدالة) في برنامج بايثون. على سبيل المثال ، لنفترض أن لديّ الصنف foo بداخله method تسمى bar ، ولدي نص يحتوي على كلمة "bar". ما هي أفضل طريقة لاستدعاء foo.bar()؟ اقتباس
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"]() اقتباس
0 محمد أبو عواد نشر 30 مايو 2021 أرسل تقرير نشر 30 مايو 2021 لنفترض انه لدينا الصنف foo وبداخله الدالة bar وظيفتها طباعة كلمة yes class foo: def bar(self): print('yes') يمكننا الوصول للدالة bar عن طريق انشاء كائن من الصنف foo ومن ثم استخدام الدالة p1 = foo() p1.bar() كما تلاحظ انشات كائن من الصنف ومن ثم استخدم الدالة التي بداخله bar سوف تكون النتيجة كالتالي yes اقتباس
السؤال
Adam Ebrahim
ما هي أفضل طريقة لاستدعاء دالة معينة من خلال نص (اسم الدالة) في برنامج بايثون. على سبيل المثال ، لنفترض أن لديّ الصنف foo بداخله method تسمى bar ، ولدي نص يحتوي على كلمة "bar". ما هي أفضل طريقة لاستدعاء foo.bar()؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.