برنامه نویسی

Function – توابع در پایتون

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

در پایتون ۳ همه چیز شیء است. Function ها هم در پایتون شیء هستند.توابع در پایتون جزء First Class Citizens هستند یعنی به صورت داینامیک می توان آن ها را ساخت ، نابود کردو یا به عنوان ورودی به تابع دیگر داد و یا return کرد.

چرا از توابع استفاده می کنیم؟

 

زمانی که نیاز داریم تا از یک بلوک کد چندین بار استفاده کنیم می توانیم آن بلوک را به یک Function نسبت دهیم و با فراخوانی تابع تمام دستورات آن بلوک را اجرا کنیم بدون آنکه نیاز به تکرار و بازنویسی کدها داشته باشیم به علاوه اگر زمانی بخواهیم بخشی از دستورات آن بلوک کد را تغییر دهیم به جای آنکه چندین بار این کار را انجام دهیم ، تنها در Function تعریف شده ، تغییرات را اعمال می کنیم.

دقت داشته باشید که بر خلاف بسیاری از زبان های برنامه نویسی مثل JAVA که برای بلوک بندی کدها از {} استفاده می شود در پایتون از تو رفتگی استفاده می کنیم. مفسر پایتون تنها دستوراتی را به عنوان کدهای بدنه Function می پذیرد که نسبت به بخش اصلی تورفته باشد و در صورت عدم رعایت تورفتگی بدنه تابع ناقص خواهد بود و با فراخوانی تابع دستورات مورد نظر اجرا نخواهد شد.

برای ایجاد توابع از Def استفاده می کنیم.معمولاً نام توابع با حروف کوچک است و در بین نام از _ استفاده می کنیم.

مثال Function

[code]
:(Def foo(x<<<
y=x**2
(print(y
(foo(7<<<
۴۹
 
[/code]
 
 

 در حقیقت شناسه ای که با Def به تابع نسبت می دهیم مانند یک متغییر است.

کلمه Def نیز دز اینجا مانند عملگر = برای انتساب Function به این متغیر عمل می کند بنابراین می توان هر متغیر دیگری را نیز به یک Function نسبت داد

[code]
:()Def foo<<<
('print('test

foo<<<
<function foo at 0x03B307CB>
 
[/code]
 
 
 

محل قرارگیری در حافظه را می آورد.

 
[code]
 
()Foo<<<
test
Boo=foo<<<
Boo<<<
<function foo at 0x03B307CB>
[/code]
 
 
 

 

می بینیم همان محل را نشان می دهد.