آرگومان های تابع در پایتون
آرگومانها در پایتون، مقادیری هستند که به تابع داده میشوند تا تابع بتواند باآنها عملیاتی انجام دهد. آرگومانها میتوانند از هر نوع دادهای باشند، از جمله عدد، رشته، لیست و حتی تابع.
تعریف تابع با آرگومانها در پایتون به صورت زیر است: ابتدا نام تابع را تعریف کرده، سپس آرگومانهای مورد نیاز تابع را در پرانتز قرار داده و در ادامه بدنه تابع را نوشت. وقتی تابع فراخوانی میشود، مقادیر مورد نیاز به عنوان آرگومان به تابع منتقل میشوند.
استفاده از آرگومانها به شما این امکان را میدهد که یک تابع را چندین بار با مقادیر مختلف صدا بزنید و خروجیهای مختلفی را دریافت کنید. این ویژگی از آرگومانها به شما این امکان را میدهد که تابع خود را قابل استفاده و گسترش کنید.
برای دریافت دوره آموزش پایتون به صورت رایگان کلیک کنید.
آرگومان تابع چیست؟
آرگومان ها در پایتون، مقدار هایی هستند که به تابع میدهیم تا تابع بتواند با آنها عملیاتی انجام دهد. وقتی که شما یک تابع تعریف میکنید، میتوانید آرگومانهای مورد نیاز برای اجرای تابع را تعریف کنید. وقتی تابع فراخوانی میشود، شما میتوانید مقادیر مورد نیاز را به عنوان آرگومان به تابع منتقل کنید.
به عنوان مثال، در تابع زیر، name و age دو آرگومان هستند که به تابع greet داده میشوند:
def greet(name, age):
print(f”Hello, {name}! You are {age} years old.”)
greet(“Alice”, 25)
در این مثال، “Alice” به عنوان مقدار name و ۲۵ به عنوان مقدار age به تابع greet داده شده است. این آرگومانها به تابع کمک میکنند تا با اطلاعات مورد نیاز برای اجرای عملیات خود، به درستی عمل کند.
آرگومانهای تابع
در اینجا reference به شی ارسالی حفظ شده و مقادیر جدید را به همان شی الصاق می کنیم. نتیجه:
Values inside the function: [10, 20, 30, [1, 2, 3, 4]]
Values outside the function: [10, 20, 30, [1, 2, 3, 4]]
یک مثال دیگر را در زیر مشاهده می کنید که آرگومان با reference ارسال شده و reference مورد نظر در تابع فراخوانده شده، بازنویسی (overwrite )شده است.
#!/usr/bin/python
# Function definition is here
def changeme( mylist ):
“This changes a passed list into this function”
mylist = [1,2,3,4]; # This would assig new reference in mylist
print “Values inside the function: “, mylist
return
# Now you can call changeme function
mylist = [10,20,30];
changeme( mylist );
print “Values outside the function: “, mylist
پارامتر mylist ،نسبت به تابع changeme محلی (local )می باشد.
ویرایش پارامتر مزبور در تابع موردنظر هیچ تاثیری بر روی mylist نمی گذارد.
درواقع تابع هیچ کار خاصی انجام نمی دهد.
نتیجه ای که از آن حاصل می گردد به شرح زیر می باشد:
Values inside the function: [1, 2, 3, 4]
Values outside the function: [10, 20, 30]
آرگومان های تابع در پایتون
می توان یک تابع را به وسیله ی نوع آرگومان های لیست شده در زیر، فراخوانی کنید:
- آرگومان های الزامی
- آرگومان های Keyword
- آرگومان های پیش فرض
- .آرگومان های با طول متغیر (Variable- length)
آرگومان های الزامی در پایتون
آرگومان های الزامی، آرگومان هایی هستند که به ترتیب (تعریف شده) به تابع مورد نظر پاس داده می شوند.
در اینجا، تعداد آرگومان هایی که در فراخوانی تابع مشخص می شود باید با تعریف تابع منطبق باشد.
برای فراخوانی تابع printme() ،می بایست یک آرگومان به آن ارسال کنید،.
در غیر این صورت خطای نحوی (syntax error )می دهد:
#!/usr/bin/python
# Function definition is here
def printme( str ):
“This prints a passed string into this function”
print str
return;
# Now you can call printme function
printme()
مقاله پیشنهادی : متغیر ها در پایتون
آرگومان های keyword در پایتون
آرگومان های keyword در فراخوانی توابع مورد استفاده قرار می گیرد.
هنگامی که از آرگومان های keyword در فراخوانی تابع استفاده می کنید.
فراخواننده آرگومان ها را به وسیله ی اسم آن )پارامتر( شناسایی می کند.
این کار به شما اجازه می دهد ترتیب آرگومان ها را تغییر دهید.
زیرا که مفسر پایتون قادر است با استفاده از کلیدواژه ای ارائه شده، مقادیر را به پارامترها (match وصل) کند.
می توانید تابع printme() را به ترتیب زیر فراخوانی کنید:
#!/usr/bin/python
# Function definition is here
def printme( str ):
“This prints a passed string into this function”
print str
return;
# Now you can call printme function
printme( str = “My string”)
کد بالا پس از اجرا، نتیجه ی زیر را بدست می دهد:
My string
مثال زیر تصویر روشن تری از آن ارائه می دهد. توجه داشته باشید که ترتیب پارامترها اهمیتی ندارد.
#!/usr/bin/python
# Function definition is here
def printinfo( name, age ):
“This prints a passed info into this function”
print “Name: “, name
print “Age “, age
return;
# Now you can call printinfo function
printinfo( age=50, name=”miki” )
خروجی:
Name: miki
Age 50