shirin بدون دیدگاه

توابع در واقع بخش مهمی در برنامه نویسی هستند که به شما کمک میکنند بسیار بهتر و راحت تر کدنویسی را انجام دهید.

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

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

در این بخش قرار است بعضی از این توابع را معرفی کنیم و اینکه یاد بگیریم چند مورد را خودمان پیاده سازی کنیم و اینکه چطور از توابع در برنامه هایمان استفاده کنیم

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

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

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

برای مثال تابع max()  را پیاده‌سازی میکنیم:

همانطور که میدانید این تابع بزرگترین عدد را بین اعداد وارد شده مشخص میکند، روش کار به این شکل است که یک متغیر در نظر میگیریم که اعضای لیستمان را بعد از مقایسه و مشخص شدن عدد بزرگتر در آن قرار دهیم بعد از تکمیل بدنه تابع دستور print را میگذاریم و یا یک مقدار بازگشتی را مشخص میکنیم که برای جواب برگرداند، خب بهتره ببینیم:

: (def maximum_numbers(my_list

max_num = 10    

: (for i in (my_list   

: (if (i>max_nu       

max_num = i           

return max_num      

 

ما در این تابع یک مقدار را بصورت پیش فرض برای متغییرمان در نظر گرفتیم و از یک حلقه for  برای پیمایش لیستمان و یک شرط if  برای مقایسه اعداد لیست با متغییرمان استفاده کردیم. روش کار به این شکل است که ابتدا حلقه for  به پیمایش لیست میپردازد و در هر خانه شرط if به بررسی مقادیر متغییر های i و max_num میپردازد و عدد بزرگتر درون متغییر max_num قرار میگیرد و در نهایت تابع مقدار نهایی همین متغییر را برمی گرداند. لطفا توجه کنید برای فراخوانی تابع در برنه اصلی برنامه در قسمت پارامتر ها لیست مورد نظرمان را جایگزین my_list میکنیم.

تابع pow()

این تابع دو پارامتر ورودی دارد و اولی را به توان دومی میرساند. برای پیاده‌سازی این تابع میتوان از روش زیر استفاده کرد:

 : (def power(x, y

: (if (x>=0 and y>=0    

(print (x**y        

return   

(power(2, 3

برای پیاده سازی این تابع از یک شرط if  استفاده کردیم تا مثبت بودن اعداد را بررسی کنیم و در نهایت با صدا زدن تابع در انتهای کد با پارامتر های دلخواه، تابع را اجرا میکنیم. دقت کنید که تابع را حتماً در بدنه اصلی برنامه صدا بزنید و اینکه نیازی نیست که کلمه def  را ابتدای نام تابع بنویسیم، فقط نام تابع و پارامترها کافی هستند اما دقت کنید که به تعدادی که پارامتر تعریف کرده اید، در فراخوانی هم به همان تعداد مشخص بکنید تا به جواب برسید.

 

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

(power(2, 3

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

 

تابع sqrt() :

کار این تابع برگرداندن جذر عددی است که به عنوان پارامتر دریافت میکند. بهتر است بدانیم که خود تابع برای این کار از کتابخانه match  استفاده میکند، به این صورت:

import math

(math.sqrt(x

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

استفاده از کتابخانه ها

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

ما میتوانیم برای هر کاری که نیاز داریم تا در برنامه‌های مختلف، چند بار انجام بشه از توابع استفاده کنیم، از توابعی هم که از پیش ساخته شده‌اند میتوانیم در برنامه هایمان استفاده کنیم.

اما چطور امکان به کار گیری تابعی که پیاده سازی کرده ایم در برنامه های دیگر وجود دارد؟

باید تابع را با نام module  ذخیره کنیم و در برنامه هایمان آن ماژول را import  کنیم.

خب برای استفاده از ماژول ها یک روش این هست که تابعی که نوشتیم را به نام ماژولی که نیاز داریم ذخیره میکنیم با پسوند .py

بعد از آن در برنامه ای که نیاز داریم به آن تابع از این روش ها استفاده میکنیم:

روش اول

Import نام ماژول

Def name()

روش دوم

from module-name import def-name or *

Def-name()

شما میتونید در این روش از  نماد (*) استفاده کنید که با استفاده از این روش همه جاهایی که نام ماژول هست را import  میکنید

روش سوم

import module name

module name.defname()

یعنی میتوانید ماژول را صدا بزنید، سپس دوباره نام ماژول و بعد از آن یک () و بعد نام تابع و آرگومانی که مدنظر دارید.

فکر میکنم برای این شماره تا همین جا کافی باشد، همین مباحث را در  شماره های بعدی کامل‌تر میکنیم.

ممنون که با ما همراه بودید.

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *