Як викликати функцію в Python: найкращий посібник

Функції є важливою концепцією програмування, яка дає змогу керувати блоками коду та повторно використовувати їх. Знання того, як викликати функцію в Python, є ключовим навиком для вивчення.

У цьому підручнику ви дізнаєтеся про основи виклику функцій, а також кілька порад щодо написання ефективного коду, який легше зрозуміти.

Оволодіння функціями не тільки допоможе вам створити більш універсальний код, але й оптимізує процес програмування та підвищить загальну ефективність як розробника.

Функції мають однакові основні принципи, і як тільки ви освоїте функції Python, ви зможете розширити своє розуміння функцій порівняно з іншими мовами програмування, такими як Java, R, JavaScript, PHP тощо.

Як викликати функцію в Python: найкращий посібник

Зміст

Що таке функція?

Функція в Python дозволяє створювати багаторазові фрагменти коду, які можна викликати у всій програмі, спрощуючи код і покращуючи читабельність. Він виконує конкретне завдання або набір завдань і може бути викликаний кілька разів у межах програми. 

Визначення функції в Python

У Python є дві основні категорії функцій:

  • Функції, визначені користувачем: функції, які визначає програміст, щоб уникнути повторення коду
  • Вбудовані функції : функції, визначені кимось іншим і які можна використовувати у вашому коді після встановлення необхідних пакетів

Цей розділ присвячено функціям, визначеним користувачем. Ви дізнаєтеся:

  • Як визначити функцію в Python
  • Синтаксис функції
  • Як використовувати параметри та аргументи

Синтаксис функції

Ключове def слово, за яким ідуть ім’я функції та круглі дужки, дозволяє визначити функцію в Python. Тіло функції має відступ і містить код, який буде виконано під час виклику функції. Нижче наведено приклад базової функції в Python:

def greet(): print("Hello, World!") greet()

Ключове def слово визначає нову функцію з назвою greet. Третій рядок коду викликає функцію, яка виконує код усередині функції.

Як викликати функцію в Python: найкращий посібник

Рядок printу коді вище також є функцією. Однак, якщо ви працюєте в середовищі Python 2, це визначається як оператор. Пізніше, у Python 3, це було змінено з оператора на функцію.

Параметри та аргументи

Параметри — це покажчики місця заповнення у визначенні функції, тоді як аргументи — це значення, передані під час виклику функції.

Щоб указати параметри, включіть їх у дужки визначення функції, розділивши їх комами, якщо параметрів декілька. Коли ви викликаєте функцію, ви надаєте вхідні значення, які називаються аргументами. Наступний приклад демонструє визначення функції, яка приймає два параметри:

def add_numbers(a, b): повертає a+b

Оператор return у тілі функції повертає додавання двох переданих аргументів. Ви можете розглядати це як калькулятор, де ви вводите значення та отримуєте бажаний результат у відповідь.

Після визначення функції ми можемо викликати її з аргументами на свій вибір.

add_numbers(3, 5)

Як викликати функцію в Python: найкращий посібник

Аргумент Кваргса

kwargs це скорочення від «аргументи ключового слова» в Python. Це дозволяє розширити гнучкість функції, дозволяючи абоненту вказувати будь-яку кількість ключових аргументів під час виклику функції. Ключові аргументи передаються у функцію як словник.

У визначенні функції ви можете використовувати **синтаксис подвійної зірочки перед іменем параметра, щоб приймати ключові аргументи.

def my_function(**kwargs): для ключа значення в kwargs.items(): print(f"{key} = {value}") my_function(a=1, b=2, c=3)

У цьому прикладі kwargs буде словник, що містить ключові аргументи, передані функції. Результат показаний на зображенні нижче:

Як викликати функцію в Python: найкращий посібник

Виклик функції

Виклик функції означає виконання коду всередині тіла функції. У Python існує чотири типи викликів функцій:

  • Виклик базової функції
  • Виклик із позиційними аргументами
  • Виклик із аргументами ключових слів

Виклик базової функції

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

Якщо функція не приймає жодних аргументів, круглі дужки будуть порожніми. Наведений нижче код є прикладом базової функції.

def welcome_message(): print("Ласкаво просимо до LuckyTemplates!") welcome_message()

Запуск наведеного вище коду дає такий результат:

Як викликати функцію в Python: найкращий посібник

Позиційні аргументи

Позиційні аргументи є найпоширенішим типом аргументів, і вони передаються функції в тому ж порядку, що й указано. Нижче наведено приклад виклику функції з позиційними аргументами:

def welcome_message(name): print(f"Ласкаво просимо до LuckyTemplates, {name}!") welcome_message("Джон")

У прикладі вище welcome_message()функція приймає один аргумент, name. Коли ви викликаєте цю функцію з аргументом John, вона виводить повідомлення поруч із назвою.

Наведений вище код дає такий результат:

Як викликати функцію в Python: найкращий посібник

Аргументи ключових слів

Інший спосіб передачі аргументів у функцію – використання ключових аргументів. Аргументи ключових слів дозволяють вказати назву параметра разом із його значенням, що робить код більш читабельним і зменшує ймовірність передачі аргументів у неправильному порядку. 

У прикладі нижче використовуються ключові аргументи для виклику welcome_messageфункції:

def welcome_message(name, message='Ласкаво просимо до LuckyTemplates!'): print(message, name) welcome_message(name='Alice', message='Доброго ранку')

У цьому прикладі ми визначили функцію welcome_message(), яка має два параметри, nameі message. Параметр повідомлення має аргумент за замовчуванням Welcome to LuckyTemplates!. Під час виклику функції ми використовуємо ключові аргументи для передачі значення John, що призводить до виведенняWelcome to LuckyTemplates! John.

Як викликати функцію в Python: найкращий посібник

Повернуті значення

Працюючи з функціями, ви часто захочете повернути результат операцій усередині тіла вашої функції. Повернуті значення дозволяють функції надсилати результат назад абоненту. Розуміючи, як працювати з одним і кількома значеннями, що повертаються, ви можете покращити функціональність своїх програм на Python.

Єдине значення, що повертається

Одна функція, що повертає значення, повертає одне значення з операцій у функції.

Нижче наведено приклад однієї функції, що повертає значення:

def get_greeting(ім'я): повертає "Привіт, " + ім'я + "!" greeting = get_greeting("Аліса") print(greeting)

У наведеному вище прикладі функція get_greetingприймає ім’я, оскільки її аргумент функції компілює його та повертає персоналізоване привітання. Повернене значення потім зберігається в змінній greeting і друкується на консолі.

Як викликати функцію в Python: найкращий посібник

Кілька значень, що повертаються

Часом вам потрібно буде повернути більше одного значення з функції в Python. Щоб досягти цього, ви можете використовувати кортеж або список, щоб обернути значення, що повертаються.

Нижче наведено приклад функції кількох повертаних значень мовою програмування Python.

def get_name_and_age(): повертає ("Джон", 30) ім'я, вік = get_name_and_age() print(name) print(age)

Як викликати функцію в Python: найкращий посібник

У цьому прикладі get_name_and_ageце функція, яка повертає кортеж із двома значеннями: a name та an age.

Ви також можете повернути . Наведена нижче функція демонструє значення списку, яке повертає функція.

def calculate_areas(height, width): повертає [height * width, (height * width) / 2] area, triangle_area = calculate_areas(10, 5) print(area) print(triangle_area)

Як викликати функцію в Python: найкращий посібник

У цьому випадку функція calculate_areasприймає два аргументи, heightта widthповертає список, що містить площу прямокутника та площу трикутника.

Передача функцій Python як аргументів

Python дозволяє передавати функції як аргументи іншим функціям. Коли функція приймає іншу функцію як аргумент, вона називається функцією вищого порядку.

Наведений нижче код є прикладом передачі функції іншій функції в Python:

def square(x): повертає x * x def double(x): повертає x * 2 def apply_func(func, x): повертає func(x) result = apply_func(square, 5)

Як викликати функцію в Python: найкращий посібник

Вкладені функції

Вкладені функції — це функції, визначені в іншій функції, також відомі як внутрішні функції. Це може бути корисно під час створення замикань і модульного коду. 

Щоб створити вкладену функцію, просто визначте функцію в іншій функції:

def outer_function(x, y): def inner_function(z): return x + y + z result = inner_function(3) return result # Виклик зовнішньої функції print(outer_function(1, 2))

У наведеному вище прикладі inner_function визначено в outer_function. Внутрішня функція має доступ до змінних зовнішньої функції, що дозволяє виконувати над ними операції.

Як викликати функцію в Python: найкращий посібник

Лямбда-функції

Лямбда-функції, також відомі як анонімні функції, є способом створення невеликих одноразових функцій у Python. У проектах з обробки даних ви часто працюватимете з лямбда-функціями для створення ефективних структур даних і конвеєрів.

Щоб створити лямбда-функцію, можна використати ключове слово лямбда, за яким слідує список аргументів, двокрапка, а потім вираз. Вираз — це те, що поверне лямбда-функція після її виклику. Нижче наведено приклад функції лямбда в Python:

add = лямбда a, b: a + b result = add(3, 4) print(result) # Вихід: 7

У прикладі вище ми створили лямбда-функцію, яка приймає два аргументи ( a і b) і повертає їх суму. Ми призначили цю лямбда-функцію змінній під назвою add.

Як викликати функцію в Python: найкращий посібник

Lambda може бути корисним у таких сценаріях:

  • Як аргументи для функцій вищого порядку, таких як map(), filter() і sorted().
  • Як ключові функції під час сортування списків або словників.

У наступному прикладі показано використання функції filter() вищого порядку з лямбда-виразом:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers) # Вихід: [2, 4, 6, 8]


У цьому прикладі ми використали лямбда-функцію, щоб визначити критерії фільтрації для функції filter(). Функція лямбда перевіряє, чи є число парним, а функція filter() повертає новий список, що містить лише парні числа.

Як викликати функцію в Python: найкращий посібник

Щоб побачити приклад того, як функції можуть бути корисними в різних сценаріях обробки даних, перегляньте наведене нижче відео:

Рекурсія

Рекурсія — це техніка програмування, коли функція викликає сама себе. Це може бути корисним способом вирішення складних проблем, розбиваючи їх на менші ідентичні підпроблеми.

Створюючи рекурсивну функцію, потрібно мати на увазі дві речі: базовий і рекурсивний випадок. 

  • Базовий випадок - це умова, яка зупиняє рекурсію
  • У рекурсивному випадку функція викликає саму себе. Рекурсивний випадок діє як ітератор для функції

Наступний приклад демонструє рекурсивні функції в Python:

def factorial(n): if n == 1: return 1 return n * factorial(n - 1) factorial(5)

У цьому прикладі базовий випадок – коли n == 1, а функція повертає 1. Рекурсивний випадок виникає, коли n не дорівнює 1, і функція викликає себе за допомогою n - 1.

Як викликати функцію в Python: найкращий посібник

Поширені помилки та усунення несправностей

Якщо ви програміст-початківець, ви часто стикаєтеся з помилками під час реалізації таких функцій, як рекурсивні та лямбда-функції. У наступних розділах висвітлено кілька поширених помилок і поради щодо усунення несправностей, які допоможуть вам ефективно їх вирішити.

1. TypeError: missing a required argument : ця помилка виникає, коли ви не вказуєте правильну кількість аргументів, яку очікує функція.

def my_function(fname, lname): print(fname, lname) # Правильний виклик my_function("John", "Doe") # Викличе помилку my_function("John")

Як викликати функцію в Python: найкращий посібник

Щоб виправити цю помилку, переконайтеся, що ви передаєте правильну кількість аргументів своїй функції.

2. TypeError: непідтримуваний тип операнда . Ця помилка може виникнути, коли ви намагаєтеся використати оператор із несумісними типами.

def add_number(a, b): return a + b # Правильний результат виклику = add_number(5, 3) print(result) # Викличе помилку через неправильні аргументи result = add_number("5", 3) print(result)

Як викликати функцію в Python: найкращий посібник

Щоб виправити цю помилку, переконайтеся, що ваші функції мають справу з правильними типами даних, і розгляньте можливість використання приведення типів, якщо це необхідно

3. NameError: ім'я 'function_name' не визначено : ця помилка говорить про те, що функція не була визначена перед її викликом. 

# Правильний порядок def greet(): print("Привіт!") greet() # Неправильний порядок goodbye() def goodbye(): print("До побачення!")

Як викликати функцію в Python: найкращий посібник

Щоб виправити цю помилку, переконайтеся, що ваша функція визначена належним чином і що ви викликаєте її після визначення.

Висновок

Щоб підсумувати та допомогти вам зміцнити ваше розуміння, наступні пункти підсумовують ключові аспекти виклику функцій у Python:

  • Щоб викликати функцію, використовуйте назву функції, а потім дужки (наприклад, function_name()).
  • Якщо функція приймає аргументи, включіть їх у круглі дужки (наприклад, function_name(arg1, arg2)).
  • Ви можете створювати власні функції за допомогою ключового слова def, визначаючи область функції та будь-які необхідні аргументи.
  • Під час виклику функції, яка повертає значення, ви можете призначити результат змінній для подальшого використання (наприклад, result = function_name(args)).

Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.

Сортування стовпців таблиці дат у LuckyTemplates

Сортування стовпців таблиці дат у LuckyTemplates

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.