Tattakiyarawa Functions

函数是一种仅在调用时运行的代码块。

您可以将数据(称为参数)传递到函数中。

函数可以把数据作为结果返回。

创建函数

在 Python 中,使用 def 关键字定义函数:

Tashin

def my_function():
  print("Hello from a function")

调用函数

如需调用函数,请使用函数名称后跟括号:

Tashin

def my_function():
  print("Hello from a function")
my_function()

Run Tashin

参数

信息可以作为参数传递给函数。

参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。

hanyanararun na aiki ce fadi hanyanararun: aiki na aiki ce gudanin daki (fname) na aiki. Idan aiki anfaniya aiki na aiki, ana ce a passa aiki, ana ce a gina gudanin daki aiki aiki:

Tashin

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Run Tashin

dakinin gudanin daki

hanyanararun na aiki hanyanararun ce fadi hanyanararun:

ifi anfaniya aiki na aiki ba, ana ce gudanin daki:

Tashin

def my_function(country = "China"):
  print("أنا من " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Run Tashin

توصيل القائمة كمعامل

يمكنك إرسال أي نوع بيانات كمعامل إلى الفانكشن (مثل الأنواع النصية، والأرقام، والقوائم، والقواميس، وما إلى ذلك)، وسيعتبرها الفانكشن بنفس النوع في الداخل.

على سبيل المثال، إذا كنت ترسل قائمة كمعامل، فإنها ستكون قائمة (قائمة) عند وصولها إلى الفانكشن:

Tashin

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Run Tashin

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

لإرجاع قيمة من الفانكشن، استخدم: return الجملة:

Tashin

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Run Tashin

معلمات مفتوحة

يمكنك أيضًا إرسال المعلمات باستخدام синтactic grammar key = value.

ترتيب المعلمات لا يهم.

Tashin

def my_function(child3, child2, child1):
  print("الطفل الأصغر هو " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Run Tashin

في وثائق بايثون، يُشار إلى كلمة "معلمات مفتوحة" غالبًا باسم kwargs.

معلمات غير محددة

إذا لم تعرف عدد المعلمات التي ستقوم بتوصيلها إلى الفانكشن، فأضف * قبل اسم المعلمات في تعريف الفانكشن.

بهذا، ستقبل الفانكشن مجموعة من المعلمات، ويمكنها الوصول إلى كل منها بشكل مناسب:

Tashin

إذا كانت عدد المعلمات غير معروف، فأضف * قبل اسم المعلمات.

def my_function(*kids):
  print("الطفل الأصغر هو " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Run Tashin

جملة pass

فانكشن ديفينيشن لا ينبغي أن تكون فارغة، ولكن إذا كنت قد كتبت فانكشن ديفينيشن بدون محتوى لأي سبب من الأسباب، فاستخدم جملة pass لتجنب الأخطاء.

Tashin

def myfunction:
  pass

Run Tashin

递归

Python 也接受函数递归,这意味着定义的函数能够调用自身。

递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。

开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。

A cikin wannan tafaddan,tri_recursion() yar da ake tushe da shine call ("recurse") na function. A na amfani da kai tsakiyar amfani kama data, kowane wakiltar da ake amfani da shine yakin kai tsakiyar amfani (-1). Duk da haka, lokacin da yau ba a kai amfani da shi ba (misali lokacin da yau shine 0), tarihin yana koma.

Don mutumci na tsakiyar aiki, zai dace domin yin wakiltu da saukiwa domin fahimtar yin aiki, wanda ya kasance kamar yin wakiltu da saukiwa.

Tashin

Tarihin tafaddan:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Example Results")
tri_recursion(6)

Run Tashin