Как вызвать функцию в Python: полное руководство

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

В этом руководстве вы изучите основы вызова функций, а также несколько советов по написанию эффективного кода, который будет легче понять.

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

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

Как вызвать функцию в Python: полное руководство

Оглавление

Что такое функция?

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

Определение функции в Python

В Python есть две основные категории функций:

  • Пользовательские функции: функции, которые определяет программист, чтобы избежать повторения кода.
  • Встроенные функции : функции, которые определены кем-то другим и могут использоваться в вашем коде после установки необходимых пакетов.

Этот раздел руководства по Python посвящен пользовательским функциям. Вы узнаете:

  • Как определить функцию в Python
  • Синтаксис функции
  • Как использовать параметры и аргументы

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

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

def приветствие(): печать ("Привет, мир!") приветствие()

Ключевое def слово определяет новую функцию с именем приветствие. Третья строка кода вызывает функцию, которая выполняет код внутри функции.

Как вызвать функцию в 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, {имя}!") welcome_message("Джон")

В приведенном выше примере welcome_message()функция принимает один аргумент, name. Когда вы вызываете эту функцию с аргументом John, она печатает сообщение рядом с именем.

Приведенный выше код дает следующий результат:

Как вызвать функцию в Python: полное руководство

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

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

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

def welcome_message(name, message='Добро пожаловать в LuckyTemplates!'): print(message, name) welcome_message(name='Алиса', message='Доброе утро')

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

Как вызвать функцию в Python: полное руководство

Возвращаемые значения

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

Одно возвращаемое значение

Функция с одним возвращаемым значением возвращает одно значение из операций в функции.

Ниже приведен пример функции с одним возвращаемым значением:

def get_greeting(name): вернуть "Здравствуйте, " + name + "!" приветствие = get_greeting("Алиса") print(приветствие)

В приведенном выше примере функция get_greetingпринимает имя, поскольку ее аргумент функции компилирует его и возвращает персонализированное приветствие. Затем возвращаемое значение сохраняется в переменной Greeting и выводится на консоль.

Как вызвать функцию в Python: полное руководство

Несколько возвращаемых значений

Иногда вам потребуется вернуть более одного значения из функции в Python. Для этого вы можете использовать кортеж или список для переноса возвращаемых значений.

Ниже приведен пример функции множественных возвращаемых значений на языке программирования Python.

def get_name_and_age(): return ("Джон", 30) name, age = get_name_and_age() print(name) print(age)

Как вызвать функцию в Python: полное руководство

В этом примере — get_name_and_ageэто функция, которая возвращает кортеж с двумя значениями: a name и an age.

Вы также можете вернуть список значений из функции в Python . Функция ниже демонстрирует возвращаемое значение списка из функции.

def calculate_areas (высота, ширина): вернуть [высота * ширина, (высота * ширина) / 2] площадь, треугольник_область = вычислить_области (10, 5) печать (область) печать (треугольник_площадь)

Как вызвать функцию в 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 external_function(x, y): def inner_function(z): return x + y + z result = inner_function(3) return result # Вызов внешней функции print(outer_function(1, 2))

В приведенном выше примере внутренняя_функция определена внутри внешней_функции. Внутренняя функция имеет доступ к переменным внешней функции, что позволяет ей выполнять над ними операции.

Как вызвать функцию в Python: полное руководство

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

Лямбда-функции, также известные как анонимные функции, — это способ создания небольших одноразовых функций в Python. �� проектах по науке о данных вы часто будете работать с функциями Lambda для создания эффективных структур данных и конвейеров.

Чтобы создать лямбда-функцию, вы можете использовать ключевое слово лямбда, за которым следует список аргументов, двоеточие, а затем выражение. Выражение — это то, что лямбда-функция вернет после ее вызова. Ниже приведен пример лямбда-функции в Python:

add = lambda a, b: a + b result = add(3, 4) print(result) # Вывод: 7

В приведенном выше примере мы создали лямбда-функцию, которая принимает два аргумента ( a и b) и возвращает их сумму. Мы присвоили эту лямбда-функцию переменной с именем add.

Как вызвать функцию в Python: полное руководство

Лямбда может быть полезна в следующих случаях:

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

В следующем примере демонстрируется использование функции filter() более высокого порядка с лямбдой:

числа = [1, 2, 3, 4, 5, 6, 7, 8, 9] четные_числа = список (фильтр (лямбда x: х % 2 == 0, числа)) печать (четные_числа) # Вывод: [2, 4, 6, 8]


В этом примере мы использовали лямбда-функцию для определения критериев фильтрации для функции filter(). Лямбда-функция проверяет, является ли число четным, а функция filter() возвращает новый список, содержащий только четные числа.

Как вызвать функцию в Python: полное руководство

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

Рекурсия

Рекурсия — это метод программирования, при котором функция вызывает сама себя. Это может быть полезным способом решения сложных проблем путем их разбиения на более мелкие идентичные подзадачи.

При создании рекурсивной функции нужно помнить о двух вещах: базовом и рекурсивном. 

  • Базовый случай - это условие, которое останавливает рекурсию
  • В рекурсивном случае функция вызывает сама себя. Рекурсивный случай действует как итератор для функции

Следующий пример демонстрирует рекурсивные функции в Python:

def factorial(n): если n == 1: вернуть 1 вернуть n * factorial(n - 1) factorial(5)

В этом примере базовый случай — когда n == 1, и функция возвращает 1. Рекурсивный случай возникает, когда n не равно 1, и функция вызывает себя с помощью n - 1.

Как вызвать функцию в Python: полное руководство

Распространенные ошибки и устранение неполадок

Если вы начинающий программист, вы часто будете сталкиваться с ошибками при реализации таких функций, как рекурсивные и лямбда-функции. В следующих разделах выделено несколько распространенных ошибок и приведены советы по устранению неполадок, которые помогут вам эффективно их устранить.

1. TypeError: отсутствует обязательный аргумент : эта ошибка возникает, когда вы не указываете правильное количество аргументов, которое ожидает функция.

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: имя «имя_функции» не определено : эта ошибка предполагает, что функция не была определена до ее вызова. 

# Правильный порядок defgreat(): print("Привет, там!") Greet() # Неправильный порядок goodbye() def goodbye(): print("До свидания!")

Как вызвать функцию в Python: полное руководство

Чтобы исправить эту ошибку, убедитесь, что ваша функция определена правильно и вызывается после ее определения.

Заключение

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

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

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.