Junior
165
Python-да *args және **kwargs не үшін пайдаланылады?
AI-дан жауап
sobes.tech AI
*args және **kwargs функцияға өзгермелі аргументтер санын беру үшін пайдаланылады.
*args(еркін орындалатын позициялық аргументтер): барлық берілмеген аргументтерді тізімге жинайды.**kwargs(еркін атаулы аргументтер): барлық атаулы аргументтерді сөздікке жинайды.
Қолданылуы:
- Өзгермелі параметрлермен функциялар: Қандай аргументтер берілетіні алдын ала белгісіз болғанда.
- Декораторлар: Әртүрлі сигнатуралы функцияларды жалпы орау үшін.
- Шақыруларды бағыттау: Бір функция басқа бір функцияны шақырып, оған алынған аргументтерді беру кезінде.
# *args қолданудың мысалы
def sum_all(*args):
total = 0
for num in args:
total += num
return total
# **kwargs қолданудың мысалы
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
# Біріктірілген қолдану мысалы
def process_data(name, *args, **kwargs):
print(f"Өңдеу: {name}")
print(f"Аргументтер: {args}") # Тізім (10, 20)
print(f"Атаулы аргументтер: {kwargs}") # Сөздік {'city': 'London', 'zip': 'SW1A 0AA'}
# Функция шақырулары
print(sum_all(1, 2, 3, 4)) # 10
print_info(name="Alice", age=30, city="New York") # Аты мен мәндері бойынша ақпарат шығару
process_data("Report", 10, 20, city="London", zip="SW1A 0AA")