💡 استدعاء الدوال بشكل ديناميكي في بايثون 🐍
هل تحتاج إلى استدعاء دالة بناءً على اسمها كسلسلة نصية؟ إليك طريقة سهلة وفعالة في بايثون!
نستخدم `globals().get(function_name)` للحصول على مرجع للدالة من خلال اسمها كسلسلة نصية. `globals()` يعيد قاموساً بجميع المتغيرات والدوال المعرفة على المستوى العام. `.get()` آمن لأنه يعيد `None` إذا لم يتم العثور على المفتاح (اسم الدالة) بدلاً من إطلاق استثناء.
['#بايثون', '#برمجة', '#PythonTips', '#DynamicCalls', '#Coding']
هل تحتاج إلى استدعاء دالة بناءً على اسمها كسلسلة نصية؟ إليك طريقة سهلة وفعالة في بايثون!
def greet(name):
return f"Hello, {name}!"
def say_goodbye(name):
return f"Goodbye, {name}!"
function_name = "greet"
argument = "World"
# الحصول على الدالة من خلال اسمها
func = globals().get(function_name)
if func:
result = func(argument)
print(result)
else:
print(f"Function '{function_name}' not found.")
function_name_2 = "say_goodbye"
func_2 = globals().get(function_name_2)
if func_2:
result_2 = func_2("Alice")
print(result_2)
else:
print(f"Function '{function_name_2}' not found.")
نستخدم `globals().get(function_name)` للحصول على مرجع للدالة من خلال اسمها كسلسلة نصية. `globals()` يعيد قاموساً بجميع المتغيرات والدوال المعرفة على المستوى العام. `.get()` آمن لأنه يعيد `None` إذا لم يتم العثور على المفتاح (اسم الدالة) بدلاً من إطلاق استثناء.
['#بايثون', '#برمجة', '#PythonTips', '#DynamicCalls', '#Coding']