خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

درک توابع پایتون: مروری عملی

آیا باید با توابع در پایتون آشنا شوید؟

به عنوان یک برنامه نویس، اغلب متوجه می شوید که یک عمل یا کار را به طور مکرر انجام می دهید. این می تواند خسته کننده و وقت گیر باشد، به خصوص زمانی که با یک پایه کد بزرگ یا پیچیده کار می کنید. اتوماسیون آنها با توابع رویکرد مؤثرتری برای انجام چنین وظایفی است. توابع به شما این امکان را می دهند که یک بار منطق کد را بنویسید و از آن در هر جایی از برنامه خود استفاده کنید.

تابع پایتون چیست؟

در پایتون، تابع یک بلوک از کد است که برای انجام یک کار خاص استفاده می شود. شما فقط باید یک تابع را یک بار بنویسید، اما می توانید چندین بار از آن در کد خود استفاده کنید. یک تابع می تواند آرگومان ها را به عنوان مقادیر ورودی و خروجی برگرداند. این برنامه ساده تابعی را نشان می دهد که مجموع سه عدد را محاسبه می کند:

# Python function to calculate the sum of three numbers

def calculate_sum(a, b, c):
    return a+b+c

print(calculate_sum(1,2,3)) # returns 6
print(calculate_sum(1000, 300,44)) # returns 1344
print(calculate_sum(12, 4,78)) # returns 94

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

یک پایانه git bash که نتیجه تابع ()calault_sum را نشان می دهد

تعریف تابع در پایتون

پایتون توابع داخلی زیادی دارد که توسعه دهندگان می توانند از آنها استفاده کنند. با این حال، این توابع داخلی همیشه برای برآورده کردن خواسته‌های اکثر پروژه‌ها کافی نیستند. برای برآورده کردن خواسته های سفارشی، باید توابع سفارشی خود را تعریف کنید. تعریف توابع سفارشی یک روش معمول در برنامه نویسی است.

مطلب مرتبط:   استفاده از تابع super() در کلاس های پایتون

در پایتون، می‌توانید با استفاده از کلمه کلیدی def و به دنبال آن نام تابع خود با پرانتز در مقابل آن، یک تابع سفارشی تعریف کنید. به عنوان مثال:

def function_name()

هنگام تخصیص نام تابع در پایتون باید به این قوانین توجه داشته باشید:

  • نام توابع باید با حروف کوچک باشد.
  • نام توابع باید توصیفی باشد.
  • از زیرخط برای جدا کردن کلمات در نام تابع استفاده کنید.

پس از تعریف تابع، باید منطق را برای انجام وظیفه مورد نظر خود بنویسید. به عنوان مثال، این تابع مساحت یک مثلث را محاسبه می کند:

# Python function to calculate the area of a triangle

def calculate_triangle_area(base, height):
    area = (base * height)/2
    return area

print(calculate_triangle_area(12, 3))

تابع بالا دو پارامتر را تعریف می کند: پایه و ارتفاع، حاصلضرب آنها را بر دو تقسیم می کند و نتیجه را به عنوان خروجی برمی گرداند. شما می توانید هر منطقی را که می خواهید تابع شما انجام دهد بنویسید.

درک آرگومان های تابع

در مثال‌های قبلی، توابع آرگومان‌هایی را برای انجام اعمال گرفته‌اند. آرگومان های این مثال ها به عنوان آرگومان های مورد نیاز یا موقعیتی شناخته می شوند. در پایتون، آرگومان های شما می توانند یکی از موارد زیر باشند:

  • استدلال های موضعی
  • آرگومان های کلیدواژه

استدلال های موضعی

آرگومان های موضعی باید به ترتیب تعریف صحیح ارائه شوند. به عنوان مثال، اگر تابعی را با پارامترهای a، b و c تعریف کنید، هنگام فراخوانی این پارامترها باید مقادیری را برای این پارامترها ارسال کنید. اجازه دهید مثال قبلی را بررسی کنیم:

# Python function to calculate the sum of three numbers

def calculate_sum(a, b, c):
    return a+b+c

print(calculate_sum(1,2,3)) # returns 6
print(calculate_sum(1000, 300,44)) # returns 1344
print(calculate_sum(12, 4,78)) # returns 94

در برنامه بالا، تابعcalcul_sum() هر زمان که آن را فراخوانی کنیم، سه آرگومان می گیرد. هر آرگومان یک پارامتر مربوطه را نشان می دهد. در اولین فراخوانی تابع، اعداد 1، 2 و 3 نشان دهنده a، b و c هستند.

مطلب مرتبط:   نحوه ایجاد یک نوار جستجوی ساده با استفاده از لیست رشته ها در جاوا اسکریپت

یک پارامتر در تعریف یک تابع اعلان می شود، در حالی که آرگومان مقداری است که هنگام فراخوانی تابع ارسال می شود. این مقدار نمایشی از پارامتر مربوطه آن است.

استدلال موضعی اجباری است. اگر آنها را اضافه نکنید، یک TypeError دریافت خواهید کرد. مثال زیر این را نشان می دهد:

def calculate_sum(a, b, c):
    return a+b+c

print(calculate_sum(1,2)) # raises TypeError

هنگامی که برنامه فوق را روی دستگاه خود اجرا می کنید، با خطای مشابه تصویر زیر مواجه می شوید:

یک ترمینال git bash که یک خطای نوع را برای تابع account_sum نشان می دهد

آرگومان های کلیدواژه

هر زمان که یک تابع را فراخوانی می کنید، لزوماً نیازی به ارسال آرگومان های کلیدواژه نیست. آنها آرگومان های اختیاری هستند و نیازی به پیروی از ترتیب خاصی ندارند. پایتون به ما اجازه می دهد از *args و **kwargs برای تعیین آرگومان های کلمه کلیدی استفاده کنیم.

به غیر از استفاده از *args و **kwargs، می توانید مقادیر پیش فرض را برای آرگومان های خود نیز تعیین کنید. اگر هنگام فراخوانی تابع فراموش کنید مقداری اضافه کنید، انجام این کار با خطا مواجه نخواهد شد. این مثال یک تصویر را نشان می دهد:

def calculate_sum(a, b, c=3):
    return a+b+c

print(calculate_sum(1,2)) # returns 6

در برنامه فوق، وقتی ()calcul_sum فراخوانی می شود، هیچ آرگومانی برای c وجود ندارد. این روی برنامه تأثیری نخواهد گذاشت زیرا c قبلاً یک مقدار پیش فرض دارد. شما می توانید مقادیر پیش فرض را برای هر تعداد آرگومان که می خواهید مشخص کنید، اما مطمئن شوید که این کار را عاقلانه انجام می دهید.

یک پایانه git bash که نتیجه صحیح را برای تابع محاسبه_جمع نشان می دهد

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

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

مطلب مرتبط:   نحوه ایجاد پانورامای خیره کننده با پایتون و OpenCV