علاقهمند به تکنولوژی و هنر
آرگومان و پارامتر چه فرقی باهم دارن؟
آرگومان و پارامتر بیشتر اوقات باهم اشتباه گرفته میشن. تو این پست درباره اینکه چی هستن و چه فرقی باهم دارن صحبت میکنیم. پارامتر متغیریه که در تعریف تابع معین میشه، درحالی که آرگومان مقداریه که به تابع فرستاده میشه.
تابع یه پارامتر رو تعریف میکنه و کد فراخوان آرگومان رو به اون پارامتر ارسال میکنه. میتونیم پارامتر رو به عنوان فضای پارکینگ و آرگومان رو به عنوان یک خودرو در نظر بگیریم.
آرگومان
آرگومان به مقادیری گفته میشه که هنگام فراخوانی تابع، به تابع ارسال میشن. این مقادیر به متغیرهایی که در اعلان تابع تعریف شدن اختصاص داده میشن. نوع مقادیر ارسال شده به تابع با متغیرهای تعریف شده در تابع یکسانه. تو فارسی به آرگومان پارامتر واقعی هم گفته میشه.
مثال: فرض کنید برای فراخوانی دو عدد و جمع کردنشون به یه تابع () sum نیاز داریم. به این دو عددی که زمان فراخوانی تابع () sum بهش ارسال میشن، آرگومان میگن.
// C++ code to illustrate Arguments
#include <iostream>
using namespace std;
// sum: Function definition
int sum(int a, int b)
{
// returning the addition
return a + b;
}
int main()
{
int num1 = 10, num2 = 20, res;
// sum() is called with
// num1 & num2 as ARGUMENTS.
res = sum(num1, num2);
// Displaying the result
cout << "The summation is " << res;
return 0;
}
خروجی
The summation is 30
پارامتر
پارامتر به متغیرهایی گفته میشه که در طی اعلان یا تعریف یه تابع تعیین میشن. این متغیرها برای دریافت آرگومانهایی که با فراخوانی تابع ارسال شدن استفاده میشن. تو فارسی بهشون پارامتر مجازی هم گفته میشه.
مثال: فرض کنید برای ضرب دو عدد به یه تابع () Mult نیاز داریم. به متغیرهایی که در زمان تعریف تابع تعیین کردیم پارامتر میگن.
// C++ code to illustrate Parameters
#include <iostream>
using namespace std;
// Mult: Function definition
// a and b are the parameters
int Mult(int a, int b)
{
// returning the multiplication
return a * b;
}
// Driver code
int main()
{
int num1 = 10, num2 = 20, res;
// Mult() is called with
// num1 & num2 as ARGUMENTS.
res = Mult(num1, num2);
// Displaying the result
cout << "The multiplication is " << res;
return 0;
}
خروجی
The multiplication is 200
آرگومان و پارامتر چه فرقی باهم دارن
آرگومان
- وقتی یه تابع فراخوانی میشه، به مقادیری که در طول فراخوانی ارسال می شن آرگومان گفته میشه.
- در دستور فراخوانیِ تابع، برای ارسال مقدار از تابع فراخواننده به تابع دریافتکننده استفاده میشن.
- در طول زمان فراخوانی، هر آرگومان به پارامتری که در تعریف تابع تعیین شده اختصاص داده میشه.
- بهشون پارامترهای واقعی هم گفته میشه.
مثال:
int num = 20;
Call(num)
// num is argument
پارامتر
- به متغیرهایی که در زمان تعریف تابع یا نمونه اولیه تابع تعیین میشن، پارامتر گفته میشه.
- پارامترها تو قسمت header تابع فراخوانی شده هستن و برای دریافت مقدار از آرگومانها استفاده میشن.
- پارامترها متغیرهای محلی هستن که هنگام فراخوانی تابع، مقدار آرگومانها بهشون اختصاص داده میشه.
- بهشون پارامترهای مجازی هم گفته میشه.
مثال:
int Call(int rnum)
{
printf("the num is %d", rnum);
}
// rnum is parameter
منابع
https://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter
نرمافزار آزاد چیست؟ - سوالات متداول
اواِسِ انقلابی - داستان موفقیت اپن سورس
نقش PEP 8 در برنامهنویسی پایتون