سبق فنکشن (Function)

محمداحمد

لائبریرین
اس سے پہلے آپ دستیاب (Built-in) فنکشن کے بارے میں پڑھ چکے ہیں۔ دستیاب فنکشنز کے علاوہ پائتھون ہمیں اپنی ضرورت کے حساب سے (Customized) فنکشن بنا نے کی سہولت بھی فراہم کرتا ہے۔

فنکشن (Function)
صارف وضع کردہ (User Defined Function)

فنکشن منظم اور دوبارہ استعمال کے قابل کوڈ کا ایک بلاک (block) ہوتا ہے جس سے متعلقہ کوئی ایک کام لیا جاتا ہے ۔
فنکشن کسی بھی پروگرام میں ایسا حصہ ہوتا ہے جسے بار بار استعمال کیا جا سکتا ہے ، اس لیے اسے ایسے کوڈ کو کسی نام کے ساتھ محفوظ کر لیا جاتا ہے ۔
فنکشن کسی بھی اطلاقیہ کے لیے بہتر معیار فراہم کرتے ہیں اور کوڈ کو اونچے درجہ پر پھر سے قابل استعمال بنا دیتے ہیں۔

بہت سے فنکشن پائتھون میں پہلے سے میسر ہیں مگر اگر کوئی صارف چاہے تو وہ اپنی مرضی سے بھی فنکشن بنا سکتا ہے جو صارف وضع کردہ فنکشن کہلاتے ہیں۔
 

محمداحمد

لائبریرین
فنکشن کی چند مثالیں:
مندرجہ ذیل کوڈ میں ایک فنکشن بنایا گیا ہے جس کا نام add رکھا گیا ہے ۔ اس میں دو نمبر بھیجے جا سکتے ہیں جن کو جمع کرکے واپس کیا جاتا ہے۔

PHP:
>>> def add(x,y):
''' THIS FUNCTION ADD TWO NUMBERS '''
        return x+y
 
>>> add (55,66)
121
 
>>> add(1000,1)
1001

پہلی لائن جو تین واوین (quotes) میں گھرا ایک تبصرہ ہے doc string کہلاتی ہے۔

اس فنکشن میں دی گئی کسی بھی اسٹرنگ کو پرنٹ کیا جا رہا ہے۔

PHP:
>>> def printme( str ):
    "This prints a passed string into this  function"
        print (str)
 
>>> printme("Ahmad")
Ahmad
 
>>> printme("What is going on?")
What is going on?
 
>>> printme("Are we really learning to define functions?")
Are we really learning to define functions?
 

محمداحمد

لائبریرین
فنکشن تصویر
basic-function-diagram_zpsd5b18478.jpg

وضاحت:

1۔ def فنکشن کے لئے مختص کلیدی لفظ (keyword)۔
2۔ فنکشن کا نام۔ فنکشن کا نام کچھ بھی ہوسکتا ہے لیکن فنکشن کا نام اسم بامسمیٰ ہونا چاہیے۔ یعنی نام سن کر ہی پتہ چلے کہ یہ فنکشن کیا کام کرتا ہے۔
3۔ فنکشن نام کے بعد قوسین (Parenthesis) ضروری ہیں اور ان میں اکثر دلائل (arguments) بھی دیے جاتے ہیں۔
4۔ کولن : (colon)
5۔ سپردگی (assignment) آپریٹر ہے۔ یہاں فنکشن بلاک (block) میں شامل ہے۔
6۔ فنکشن کوڈ۔ کولن ( : ) کے بعد اگلی لائن سے آنے والا حاشیہ بند(indented) بلاک(block)۔
7۔ حاشیہ (Indentation) ۔ فنکشن کی پہلی لائن کے بعد آنے والا فنکشن باڈی بلاک ایک ٹیب (تقریباً چار اسپیس) کی حاشیہ بندی (indentation) پر ہوتا ہے۔
8۔ (Return) فنکشن کو ختم کرتا ہے اور عموماً کوئی مقدار واپس کرتا ہے۔
 
Top