Sobes.tech
Junior
165

Python-да *args және **kwargs не үшін пайдаланылады?

AI-дан жауап

sobes.tech AI

*args және **kwargs функцияға өзгермелі аргументтер санын беру үшін пайдаланылады.

  • *args (еркін орындалатын позициялық аргументтер): барлық берілмеген аргументтерді тізімге жинайды.
  • **kwargs (еркін атаулы аргументтер): барлық атаулы аргументтерді сөздікке жинайды.

Қолданылуы:

  1. Өзгермелі параметрлермен функциялар: Қандай аргументтер берілетіні алдын ала белгісіз болғанда.
  2. Декораторлар: Әртүрлі сигнатуралы функцияларды жалпы орау үшін.
  3. Шақыруларды бағыттау: Бір функция басқа бір функцияны шақырып, оған алынған аргументтерді беру кезінде.
# *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")