كيفية استدعاء وظيفة في Python (مثال)

ما هي الوظيفة في Python?

A وظيفة في Python هو جزء من التعليمات البرمجية الذي يتم تشغيله عند الرجوع إليه. يتم استخدامه للاستفادة من الكود في أكثر من مكان في البرنامج. ويسمى أيضًا الطريقة أو الإجراء. Python يوفر العديد من الوظائف المضمنة مثل print() و input() وcompile() و exec() وما إلى ذلك، ولكنه يوفر أيضًا الحرية في إنشاء وظائفك الخاصة.

كيفية تحديد واستدعاء وظيفة في Python

وظيفة في Python يتم تعريف بواسطة "محدد" عبارة متبوعة باسم الدالة والأقواس ( ( ) )

على سبيل المثال:

دعونا نحدد دالة باستخدام الأمر "def func1():" ونستدعي الوظيفة. سيكون إخراج الوظيفة "أنا أتعلم Python وظيفة".

تحديد واستدعاء وظيفة في Python

وظيفة وظيفة الطباعة 1() يستدعي وظيفة def func1(): ويطبع الأمر " انا اتعلم Python وظيفة لا شيء."

هناك مجموعة من القواعد في Python لتحديد وظيفة.

  • يجب وضع أي وسائط أو معلمات إدخال داخل هذه الأقواس
  • يمكن أن تكون العبارة الأولى للوظيفة عبارة عن سلسلة مستندات اختيارية أو سلسلة وثائق للوظيفة
  • يبدأ الكود الموجود داخل كل دالة بنقطتين (:) ويجب وضع مسافة بادئة له (مسافة)
  • تخرج العبارة return (التعبير) من إحدى الوظائف، مما يؤدي بشكل اختياري إلى إعادة قيمة إلى المتصل. بيان الإرجاع بدون وسيطات هو نفس عبارة الإرجاع بلا.

أهمية المسافة البادئة (الفضاء) في Python

قبل أن نتعرف Python الوظائف، من المهم أن نفهم قاعدة المسافة البادئة للإعلان عنها Python وظائف وهذه القواعد تنطبق على عناصر أخرى من Python وكذلك إعلان الشروط أو الحلقات أو المتغير.

Python يتبع نمطًا معينًا من المسافة البادئة لتحديد الكود، منذ ذلك الحين Python لا تحتوي الوظائف على أي بداية أو نهاية واضحة مثل الأقواس المتعرجة للإشارة إلى بداية الوظيفة وتوقفها، وعليها الاعتماد على هذه المسافة البادئة. هنا نأخذ مثالاً بسيطًا باستخدام أمر "الطباعة". عندما نكتب وظيفة "طباعة" أسفل الوظيفة المحددة 1 (): سيظهر "خطأ في المسافة البادئة: من المتوقع وجود كتلة ذات مسافة بادئة".

تحديد واستدعاء وظيفة في Python

الآن، عند إضافة المسافة البادئة (المسافة) أمام وظيفة "الطباعة"، يجب أن تتم الطباعة كما هو متوقع.

تحديد واستدعاء وظيفة في Python

مسافة بادئة واحدة على الأقل تكفي لجعل التعليمات البرمجية الخاصة بك تعمل بنجاح. ولكن كأفضل ممارسة، يُنصح بترك حوالي 3-4 مسافة بادئة لاستدعاء وظيفتك.

من الضروري أيضًا أنه أثناء إعلان المسافة البادئة، يجب عليك القيام بذلك احتفظ بنفس المسافة البادئة لبقية التعليمات البرمجية الخاصة بك. على سبيل المثال، في لقطة الشاشة أدناه عندما نطلق على عبارة أخرى "لا تزال في func1" وعندما لم يتم الإعلان عنها مباشرة أسفل عبارة الطباعة الأولى، ستظهر خطأ في المسافة البادئة "لا يتطابق إلغاء المسافة البادئة مع أي مستوى مسافة بادئة آخر."

تحديد واستدعاء وظيفة في Python

الآن، عندما نطبق نفس المسافة البادئة لكلا العبارتين ونحاذيهما في نفس السطر، فهذا يعطي الناتج المتوقع.

تحديد واستدعاء وظيفة في Python

كيف قيمة إرجاع الدالة؟

أمر العودة في Python يحدد القيمة التي يجب إعادتها إلى المتصل بالوظيفة. دعنا نفهم هذا من خلال المثال التالي

الخطوة 1) لا تقوم الدالة بإرجاع أي شيء

هنا - نرى عندما لا تكون الوظيفة "عودة". على سبيل المثال، نريد المربع رقم 4، ويجب أن يعطي الإجابة "16" عند تنفيذ الكود. وهو ما يظهر عندما نستخدم رمز "print x*x" ببساطة، ولكن عندما تستدعي الدالة "print Square" فإنها تعطي "None" كمخرج. وذلك لأنه عند استدعاء الدالة، لا يحدث التكرار ويسقط في نهاية الدالة. Python تُرجع "لا شيء" لفشلها في نهاية الوظيفة.

قيمة إرجاع الدالة

الخطوة 2) استبدل أمر الطباعة بأمر التعيين

لتوضيح ذلك، نستبدل أمر الطباعة بأمر التعيين. دعونا نتحقق من الإخراج.

قيمة إرجاع الدالة

عندما تقوم بتشغيل الأمر "طباعة مربع (4)" فإنه يقوم في الواقع بإرجاع قيمة الكائن لأنه ليس لدينا أي وظيفة محددة لتشغيلها هنا فإنه يقوم بإرجاع "لا شيء".

الخطوة 3) استخدم وظيفة "الإرجاع" وقم بتنفيذ التعليمات البرمجية

الآن، سنرى كيفية استرداد الإخراج باستخدام أمر "return". عند استخدام وظيفة "الإرجاع" وتنفيذ الكود، سيعطي الإخراج "16".

قيمة إرجاع الدالة

الخطوة 4) قم بتشغيل الأمر "مربع الطباعة"

وظائف في Python هم أنفسهم كائن، والكائن له بعض القيمة. وسنرى هنا كيف Python يعامل كائن. عند تشغيل الأمر "مربع الطباعة" فإنه يقوم بإرجاع قيمة الكائن. نظرًا لأننا لم نمرر أي وسيطة، فليس لدينا أي وظيفة محددة لتشغيلها هنا، فهي تُرجع قيمة افتراضية (0x021B2D30) وهي موقع الكائن. في عملي Python البرنامج، ربما لن تحتاج إلى القيام بذلك على الإطلاق.

قيمة إرجاع الدالة

الحجج في الوظائف

الوسيطة هي القيمة التي يتم تمريرها إلى الدالة عند استدعائها.

بمعنى آخر، من جانب الاستدعاء، فهي وسيطة ومن جانب الوظيفة فهي معلمة.

دعونا نرى كيف Python أعمال الأرجس –

الخطوة 1) يتم الإعلان عن الوسائط في تعريف الوظيفة. أثناء استدعاء الدالة، يمكنك تمرير قيم تلك الوسائط كما هو موضح أدناه

الحجج في الوظائف

الخطوة 2) للإعلان عن قيمة افتراضية للوسيطة، قم بتعيين قيمة لها في تعريف الدالة.

الحجج في الوظائف

على سبيل المثال: x ليس له قيم افتراضية. القيم الافتراضية لـ y=0. عندما نقوم بتوفير وسيطة واحدة فقط أثناء استدعاء وظيفة الضرب، Python يُسند القيمة المُعطاة إلى x بينما يبقىping قيمة y تساوي صفرًا. ومن ثم فإن حاصل ضرب x في y يساوي صفرًا.

تحديد واستدعاء وظيفة في Python

الخطوة 3) هذه المرة سنقوم بتغيير القيمة إلى y=2 بدلاً من القيمة الافتراضية y=0، وستعيد الناتج بالشكل (4×2)=8.

الحجج في الوظائف

الخطوة 4) يمكنك أيضًا تغيير الترتيب الذي يمكن أن يتم به تمرير الوسائط Python. هنا قمنا بعكس ترتيب القيم x و y إلى x=4 و y=2.

الحجج في الوظائف

الخطوة 5) يمكن أيضًا تمرير وسيطات متعددة كمصفوفة. هنا في المثال نستدعي الوسائط المتعددة (1,2,3,4,5) عن طريق استدعاء الدالة (*args).

على سبيل المثال: لقد أعلنا عن وسائط متعددة كرقم (1,2,3,4,5) عندما نستدعي الدالة (*args)؛ يطبع الناتج كـ (1,2,3,4,5،XNUMX،XNUMX،XNUMX،XNUMX)

الحجج في الوظائف

تنويهات:

  • In Python 2.7. وظيفة الزائد غير مدعوم في Python. التحميل الزائد للوظيفة هو القدرة على إنشاء طرق متعددة بنفس الاسم مع تنفيذ مختلف. وظيفة التحميل الزائد مدعومة بالكامل في Python 3
  • هناك خلط كبير بين الأساليب والوظائف. طرق في Python ترتبط بمثيلات الكائن بينما الوظيفة ليست كذلك. متى Python يستدعي أسلوبًا، فهو يربط المعلمة الأولى لذلك الاستدعاء بمرجع الكائن المناسب. بكلمات بسيطة، وظيفة مستقلة في Python هي "وظيفة"، في حين أن الوظيفة التي تعتبر سمة لفئة أو مثيل هي "طريقة".

هنا هو الكامل Python رمز 3

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

هنا هو الكامل Python رمز 2

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

ملخص

وظيفة في Python عبارة عن جزء من التعليمات البرمجية القابلة لإعادة الاستخدام والتي يتم استخدامها لتنفيذ إجراء واحد ذي صلة. في هذا المقال سنرى

  • الوظيفة التي يحددها صفر بيان
  • تبدأ كتلة التعليمات البرمجية داخل كل دالة بنقطتين (:) ويجب وضع مسافة بادئة لها (مسافة)
  • يجب وضع أي وسيطات أو معلمات إدخال داخل هذه الأقواس، وما إلى ذلك.
  • يجب ترك مسافة بادئة واحدة على الأقل قبل الكود بعد إعلان الوظيفة
  • يجب الحفاظ على نفس نمط المسافة البادئة في جميع أنحاء الكود داخل وظيفة def
  • للحصول على أفضل الممارسات، من الأفضل استخدام ثلاث أو أربع مسافات بادئة قبل العبارة
  • يمكنك استخدام أمر "return" لإرجاع القيم إلى استدعاء الوظيفة.
  • Python ستتم طباعة قيمة عشوائية مثل (0x021B2D30) عندما لا يتم توفير الوسيطة لوظيفة الاستدعاء. مثال "وظيفة الطباعة".
  • من ناحية الاستدعاء، فهي وسيطة ومن ناحية الوظيفة فهي معلمة
  • القيمة الافتراضية في الوسيطة - عندما نوفر وسيطة واحدة فقط أثناء استدعاء دالة الضرب أو أي دالة أخرى، Python يعين الوسيطة الأخرى بشكل افتراضي
  • Python يتيح لك عكس ترتيب الحجة أيضًا

تلخيص هذه التدوينة بـ: