Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Довільні Аргументи | Довільні Аргументи
Посібник з функцій Python
course content

Зміст курсу

Посібник з функцій Python

Посібник з функцій Python

1. Що Таке Функція в Python?
2. Позиційні та Необов'язкові Аргументи
3. Довільні Аргументи
4. Специфікація Повернення Значення Функції
5. Рекурсія та Лямбда-Функції

book
Довільні Аргументи

Ми вже дослідили позиційні та необов'язкові аргументи функції. Однак, що робити, коли є багато аргументів, або коли ми не впевнені у всіх аргументах, які потрібно передати функції? Цю проблему можна вирішити за допомогою довільних аргументів (аргументи змінної довжини). Ці аргументи дозволяють функції приймати невизначену кількість аргументів. Це особливо корисно, коли ви хочете визначити функцію, яка може приймати змінну кількість вхідних значень без зазначення точної кількості аргументів заздалегідь.

Примітка

Пам'ятайте, що кожен аргумент може бути структурою даних, такою як список або словник. Ви можете передати довільну кількість таких структур, використовуючи довільні аргументи.

У Python ви можете визначити довільні аргументи як один позиційний аргумент, поставивши зірочку * перед ім'ям аргументу. Ось приклад:

12345678
# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

У наведеному вище коді ми використовували *, щоб оголосити, що змінна values містить кілька довільних аргументів і інтерпретується як кортеж. Потім ми використовували вбудовану функцію sum для обчислення суми. Ми бачимо, що результат правильний для всіх прикладів, і нам не потрібно вказувати кількість аргументів безпосередньо. Примітка, що ми використовуємо цей аргумент за ім'ям без * у тілі функції.

Примітка

Щоб визначити кортеж довільних аргументів, достатньо використовувати * перед ім'ям аргументу. Однак рекомендується використовувати конструкцію *args. Це покращує інтерпретованість та читабельність коду.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Як ви можете бачити з результатів:

  • Коли функція викликається без аргументів, args буде порожнім кортежем ().
  • Коли функція викликається з одним аргументом, args буде кортежем з одним елементом (1,).
  • Коли функція викликається з кількома аргументами, всі вони зберігаються в кортежі, наприклад (1, 2, 3, 'hello', [4, 5, 6]).

З *args ви можете працювати з значеннями так само, як і з будь-яким іншим кортежем у Python.

Завдання
test

Swipe to show code editor

Напишіть функцію, яка обчислює середнє значення довільної кількості аргументів. Використовуйте args як ім'я довільного аргументу.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
toggle bottom row

book
Довільні Аргументи

Ми вже дослідили позиційні та необов'язкові аргументи функції. Однак, що робити, коли є багато аргументів, або коли ми не впевнені у всіх аргументах, які потрібно передати функції? Цю проблему можна вирішити за допомогою довільних аргументів (аргументи змінної довжини). Ці аргументи дозволяють функції приймати невизначену кількість аргументів. Це особливо корисно, коли ви хочете визначити функцію, яка може приймати змінну кількість вхідних значень без зазначення точної кількості аргументів заздалегідь.

Примітка

Пам'ятайте, що кожен аргумент може бути структурою даних, такою як список або словник. Ви можете передати довільну кількість таких структур, використовуючи довільні аргументи.

У Python ви можете визначити довільні аргументи як один позиційний аргумент, поставивши зірочку * перед ім'ям аргументу. Ось приклад:

12345678
# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

У наведеному вище коді ми використовували *, щоб оголосити, що змінна values містить кілька довільних аргументів і інтерпретується як кортеж. Потім ми використовували вбудовану функцію sum для обчислення суми. Ми бачимо, що результат правильний для всіх прикладів, і нам не потрібно вказувати кількість аргументів безпосередньо. Примітка, що ми використовуємо цей аргумент за ім'ям без * у тілі функції.

Примітка

Щоб визначити кортеж довільних аргументів, достатньо використовувати * перед ім'ям аргументу. Однак рекомендується використовувати конструкцію *args. Це покращує інтерпретованість та читабельність коду.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Як ви можете бачити з результатів:

  • Коли функція викликається без аргументів, args буде порожнім кортежем ().
  • Коли функція викликається з одним аргументом, args буде кортежем з одним елементом (1,).
  • Коли функція викликається з кількома аргументами, всі вони зберігаються в кортежі, наприклад (1, 2, 3, 'hello', [4, 5, 6]).

З *args ви можете працювати з значеннями так само, як і з будь-яким іншим кортежем у Python.

Завдання
test

Swipe to show code editor

Напишіть функцію, яка обчислює середнє значення довільної кількості аргументів. Використовуйте args як ім'я довільного аргументу.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
We're sorry to hear that something went wrong. What happened?
some-alt