آرگومانهای توابع در پایتون، دادههایی هستند که به یک تابع ارسال میکنیم تا آن تابع بتواند با استفاده از آنها عملیات مورد نظر را انجام دهد. به عبارت دیگر، آرگومانها ورودیهای یک تابع هستند.
انواع آرگومانها در پایتون
انواع آرگومانها در پایتون
پایتون از انواع مختلفی از آرگومانها پشتیبانی میکند که هر کدام ویژگیهای خاص خود را دارند:
1. آرگومانهای ضروری (Positional Arguments):
1. آرگومانهای ضروری (Positional Arguments):
- تعریف: این آرگومانها باید به ترتیب دقیق هنگام فراخوانی تابع مشخص شوند.
- مثال: Python
def جمع(a, b): return a + b نتیجه = جمع(3, 5) # a=3, b=5
def greet(name, age):
print(f"Hello, my name is {name} and I am {age} years old.")
greet("Ali", 25)
# خروجی: Hello, my name is Ali and I am 25 years old.
2. آرگومانهای پیشفرض (Default Arguments):
2. آرگومانهای پیشفرض (Default Arguments):
- تعریف: برای این آرگومانها، یک مقدار پیشفرض مشخص میشود. اگر هنگام فراخوانی تابع، مقداری برای این آرگومانها داده نشود، از مقدار پیشفرض استفاده میشود.
- مثال: Python
def سلام_بگو(نام="مهمان"): print(f"سلام {نام}!") سلام_بگو() # خروجی: سلام مهمان! سلام_بگو("علی") # خروجی: سلام علی!
def greet(name="Guest", age=0):
print(f"Hello, my name is {name} and I am {age} years old.")
greet() # خروجی: Hello, my name is Guest and I am 0 years old.
greet("Sara") # خروجی: Hello, my name is Sara and I am 0 years old.
greet("Sara", 22) # خروجی: Hello, my name is Sara and I am 22 years old.
3. *آرگومانهای متغیر موقعیتی (args):
3. *آرگومانهای متغیر موقعیتی (args):
- تعریف: با استفاده از
*argsمیتوان تعداد نامحدودی آرگومان موقعیتی را به تابع ارسال کرد. این آرگومانها به صورت یک تاپل در داخل تابع قابل دسترسی هستند. - مثال: Python
def جمع_همه(*اعداد): نتیجه = 0 for عدد in اعداد: نتیجه += عدد return نتیجه نتیجه = جمع_همه(1, 2, 3, 4) # خروجی: 10
def add(*args):
return sum(args)
result = add(1, 2, 3, 4)
print(result) # خروجی: 10
4. **آرگومانهای متغیر کلیدی (kwargs):
4. **آرگومانهای متغیر کلیدی (kwargs):
- تعریف: با استفاده از
**kwargsمیتوان تعداد نامحدودی آرگومان کلیدی را به تابع ارسال کرد. این آرگومانها به صورت یک دیکشنری در داخل تابع قابل دسترسی هستند. - مثال: Python
def چاپ_اطلاعات(**اطلاعات): for کلید, مقدار in اطلاعات.items(): print(f"{کلید}: {مقدار}") چاپ_اطلاعات(نام="علی", سن=30, شهر="تهران")
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Ali", age=30, city="Tehran")
# خروجی:
# name: Ali
# age: 30
# city: Tehran
5.آرگومانهای ترکیبی
5.آرگومانهای ترکیبی
میتوانید از چند نوع آرگومان به صورت ترکیبی در یک تابع استفاده کنید. با این حال، باید ترتیب استفاده از آنها را رعایت کنید: ابتدا آرگومانهای موقعیتی، سپس *args، پس از آن آرگومانهای کلید-مقدار و در نهایت **kwargs.
مثال:
def my_function(a, b, *args, c=10, **kwargs):
print(f"a: {a}, b: {b}, c: {c}")
print(f"args: {args}")
print(f"kwargs: {kwargs}")
my_function(1, 2, 3, 4, 5, d=6, e=7)
# خروجی:
# a: 1, b: 2, c: 10
# args: (3, 4, 5)
# kwargs: {'d': 6, 'e': 7}
نکات مهم:
- ترتیب آرگومانها: آرگومانهای ضروری باید قبل از آرگومانهای پیشفرض قرار بگیرند.
- ***args و kwargs: آرگومانهای
*argsباید قبل از**kwargsقرار بگیرند. - ترتیب آرگومانهای کلیدی: ترتیب آرگومانهای کلیدی هنگام فراخوانی تابع مهم نیست.
مثال ترکیبی:
Python
def تابع_نمونه(a, b=2, *args, **kwargs):
print(a, b, args, kwargs)
تابع_نمونه(1, c=3, d=4, x=5, y=6)
در این مثال:
aیک آرگومان ضروری است.bیک آرگومان پیشفرض با مقدار 2 است.*argsیک آرگومان متغیر موقعیتی است که مقادیر(3, 4)را دریافت میکند.**kwargsیک آرگومان متغیر کلیدی است که دیکشنری{'c': 3, 'd': 4, 'x': 5, 'y': 6}را دریافت میکند.
با درک این انواع آرگومانها، میتوانید توابع منعطف و قدرتمندی در پایتون تعریف کنید.




Hi my loved one I wish to say that this post is amazing nice written and include approximately all vital infos Id like to peer more posts like this