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

As you can see from the results:

  • When the function is called without any arguments, args will be an empty tuple ().
  • When the function is called with one argument, args will be a tuple with one element (1,).
  • When the function is called with multiple arguments, all of them are stored in the tuple, for example (1, 2, 3, 'hello', [4, 5, 6]).

Thus, with *args, you can work with the values just like you would with any other tuple in Python.

Завдання
test

Swipe to show code editor

Write a function that calculates the average value of an arbitrary number of arguments. Use args as the name of an arbitrary argument.

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

As you can see from the results:

  • When the function is called without any arguments, args will be an empty tuple ().
  • When the function is called with one argument, args will be a tuple with one element (1,).
  • When the function is called with multiple arguments, all of them are stored in the tuple, for example (1, 2, 3, 'hello', [4, 5, 6]).

Thus, with *args, you can work with the values just like you would with any other tuple in Python.

Завдання
test

Swipe to show code editor

Write a function that calculates the average value of an arbitrary number of arguments. Use args as the name of an arbitrary argument.

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

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

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

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