پائینت فونکشن
- ਪਿਛਲਾ ਪੰਨਾ پائینت فار
- ਅਗਲਾ ਪੰਨਾ پائینت لامبدا
函数是一种仅在调用时运行的代码块。
您可以将数据(称为参数)传递到函数中。
函数可以把数据作为结果返回。
فونکشن قائم کرنا
پائین میں، پائین میں، def
کلمات کلیدی فونکشن کو سکھا کرنا:
ਇੰਸਟੈਂਸ
def my_function(): print("Hello from a function")
فونکشن کو سکھا کرنا
فونکشن کو سکھا کرنا چاہئیے تو فونکشن کا نام اور کیپ میں بغیر کوئی چیز نہیں دکھائی دیجائے:
ਇੰਸਟੈਂਸ
def my_function(): print("Hello from a function") my_function()
پارامتر
معلومات فونکشن کو پارامتر کے طور پر پاس کی جاسکتی ہیں۔
پارامتر فونکشن کے نام کے بعد کے کیپ میں طے کئے جاتے ہیں۔ آپ کسی بھی تعداد کا پارامتر اضافہ کرسکتے ہیں، صرف کہ آپ کا پارامتر کومو (comma) سے الگ کریں。
ایک مثال دکھا گیا ہے جس میں پارامتر والا فونکشن ہے۔ جب اس فونکشن کو سکھا دیا جاتا ہے تو ہم ایک نام کو پاس کیا دیتے ہیں، جس کو فونکشن کے اندر استعمال کیا جاتا ہے تاکہ پورا نام پرنٹ کیا جائے:
ਇੰਸਟੈਂਸ
def my_function(fname): print(fname + " Gates") my_function("Bill") my_function("Steve") my_function("Elon")
طبعی پارامتر
ایک مثال دکھا گیا ہے کہ کس طرح طبعی پارامتر کا استعمال کیا جاتا ہے。
اگر ہم نے بغیر پارامتر کا فونکشن کو سکھا دیا تو اس کا طبعی قیمتی:
ਇੰਸਟੈਂਸ
def my_function(country = "China"): print("I am from " + country) my_function("Sweden") my_function("India") my_function() my_function("Brazil")
لیٹ کا استعمال
آپ کسی بھی فارم کا پارامٹر بھیج سکتے ہیں (مثلاً استرنگ، نمبر، لیٹ، ڈکشنری وغیرہ)، اور فنکشن کے اندر ان کو ایک جیسا ہی دکھایا جائے گا。
مثلاً اگر آپ لیٹ کو پارامٹر کے طور پر بھیجتے ہیں تو وہ فنکشن میں لیٹ کی شکل میں آجائیں گا:
ਇੰਸਟੈਂਸ
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
وصولی
فنکشن کو کوئی بھی وصولی دینے کی ضرورت ہوئی تو استعمال کریں: return
کلمات:
ਇੰਸਟੈਂਸ
def my_function(x): return 5 * x print(my_function(3)) print(my_function(5)) print(my_function(9))
کلمات پارامٹر
آپ کسی بھی فارم کا استعمال کریں سکتی ہیں، جس میں key = value استعمال کیا جائے:
پارامٹر کی کسوٹی کوئی بھی نہیں اہم نہیں。
ਇੰਸਟੈਂਸ
def my_function(child3, child2, child1): print("The youngest child is " + child3) my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
پائینٹ نائٹ پیمنٹ میں، "کلمات پارامٹر" کا لفظ عام طور پر kwargs کے طور پر استعمال کیا جاتا ہے。
کسی بھی پارامٹر
اگر آپ کو نہیں جانتا کہ آپ کی فنکشن کو کتنی پارامٹر پاس کی جائیں گی تو پارامٹر کے نام کے پچھلے * استعمال کریں:
ایسے ہوئے تو فنکشن ایک پارامٹر تیواری کا پتھر حاصل کرے گا، جس میں ان میں کسی بھی کی وصولی کی جاسکتی ہے:
ਇੰਸਟੈਂਸ
اگر آپ کو پارامٹر کی تعداد جانی نہیں تو پارامٹر کے نام کے پچھلے * استعمال کریں:
def my_function(*kids): print("The youngest child is " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
pass کوئی جگہ استعمال کریں تاکہ خطا روک دیا جاسکے。
فنکشن ڈیفنیشن خالی نہیں ہونا چاہئی، لیکن اگر آپ کو کسی وجہ سے خالی فنکشن ڈیفنیشن لکھنا پڑتا ہے تو pass کوئی جگہ استعمال کریں تاکہ خطا روک دیا جاسکے。
ਇੰਸਟੈਂਸ
def myfunction: pass
递归
Python 也接受函数递归,这意味着定义的函数能够调用自身。
递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。
开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。
ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ:tri_recursion()
ਅਸੀਂ ਰੀਕਰਸਨ ("recurse") ਦੇ ਰੂਪ ਵਿੱਚ ਦਿੱਤੀ ਹੈ।ਅਸੀਂ k ਵੱਰਣਕ ਦੇ ਰੂਪ ਵਿੱਚ ਵਰਤਾਂਗੇ, ਹਰ ਰੀਕਰਸਨ ਵਿੱਚ ਉਹ ਘਟਦਾ ਹੋਵੇਗਾ (-1)।ਜਦੋਂ ਸ਼ਰਤ ਗਿਣਤੀ 0 ਤੋਂ ਘੱਟ ਨਾ ਹੋਵੇ (ਉਦਾਹਰਣ ਵਜੋਂ ਜਦੋਂ ਉਹ 0 ਹੋਵੇ) ਤਾਂ ਰੀਕਰਸਨ ਸਮਾਪਤ ਹੋ ਜਾਵੇਗਾ。
ਨਵੇਂ ਵਿਕਾਸਕਾਰੀ ਲਈ, ਇਸ ਦੇ ਕਾਰਜ ਵਿਚਾਰ ਨੂੰ ਸਮਝਣ ਲਈ ਕੁਝ ਸਮਾਂ ਲੋੜ ਸਕਦਾ ਹੈ, ਬਿਹਤਰ ਤਰੀਕਾ ਇਸ ਨੂੰ ਟੈਸਟ ਕਰਨਾ ਅਤੇ ਸੋਧਣਾ ਹੈ。
ਇੰਸਟੈਂਸ
ਰੀਕਰਸਨ ਦਾ ਉਦਾਹਰਣ:
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)
- ਪਿਛਲਾ ਪੰਨਾ پائینت فار
- ਅਗਲਾ ਪੰਨਾ پائینت لامبدا