آرگومانهای توابع در پایتون، دادههایی هستند که به یک تابع ارسال میکنیم تا آن تابع بتواند با استفاده از آنها عملیات مورد نظر را انجام دهد. به عبارت دیگر، آرگومانها ورودیهای یک تابع هستند.
انواع آرگومانها در پایتون
انواع آرگومانها در پایتون
پایتون از انواع مختلفی از آرگومانها پشتیبانی میکند که هر کدام ویژگیهای خاص خود را دارند:
۱. آرگومانهای ضروری (Positional Arguments):
۱. آرگومانهای ضروری (Positional Arguments):
- تعریف: این آرگومانها باید به ترتیب دقیق هنگام فراخوانی تابع مشخص شوند.
- مثال: Python
def جمع(a, b): return a + b نتیجه = جمع(۳, ۵) # 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.
۲. آرگومانهای پیشفرض (Default Arguments):
۲. آرگومانهای پیشفرض (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.
۳. *آرگومانهای متغیر موقعیتی (args):
۳. *آرگومانهای متغیر موقعیتی (args):
- تعریف: با استفاده از
*args
میتوان تعداد نامحدودی آرگومان موقعیتی را به تابع ارسال کرد. این آرگومانها به صورت یک تاپل در داخل تابع قابل دسترسی هستند. - مثال: Python
def جمع_همه(*اعداد): نتیجه = ۰ for عدد in اعداد: نتیجه += عدد return نتیجه نتیجه = جمع_همه(۱, ۲, ۳, ۴) # خروجی: ۱۰
def add(*args): return sum(args) result = add(1, 2, 3, 4) print(result) # خروجی: ۱۰
۴. **آرگومانهای متغیر کلیدی (kwargs):
۴. **آرگومانهای متغیر کلیدی (kwargs):
- تعریف: با استفاده از
**kwargs
میتوان تعداد نامحدودی آرگومان کلیدی را به تابع ارسال کرد. این آرگومانها به صورت یک دیکشنری در داخل تابع قابل دسترسی هستند. - مثال: Python
def چاپ_اطلاعات(**اطلاعات): for کلید, مقدار in اطلاعات.items(): print(f"{کلید}: {مقدار}") چاپ_اطلاعات(نام="علی", سن=۳۰, شهر="تهران")
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
۵.آرگومانهای ترکیبی
۵.آرگومانهای ترکیبی
میتوانید از چند نوع آرگومان به صورت ترکیبی در یک تابع استفاده کنید. با این حال، باید ترتیب استفاده از آنها را رعایت کنید: ابتدا آرگومانهای موقعیتی، سپس *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=۲, *args, **kwargs):
print(a, b, args, kwargs)
تابع_نمونه(۱, c=۳, d=۴, x=۵, y=۶)
در این مثال:
a
یک آرگومان ضروری است.b
یک آرگومان پیشفرض با مقدار ۲ است.*args
یک آرگومان متغیر موقعیتی است که مقادیر(۳, ۴)
را دریافت میکند.**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