Что такое функция в Python?
Функция в Python используется для использования кода в нескольких местах программы. Это также называется методом или процедурой. Python предоставляет вам много встроенных функций, таких как print (), но также дает свободу создавать свои собственные функции.
В этом уроке мы узнаем
- Как определить и вызвать функцию в Python
- Значение отступа (пробела) в Python
- Как функция возвращает значение?
- Аргументы в функциях
Как определить и вызвать функцию в Python
Функция в Python определяется оператором «def», за которым следуют имя функции и круглые скобки (())
Пример:
Давайте определим функцию с помощью команды def func1 (): и вызовем функцию. Результатом функции будет «Я изучаю функцию Python».
Функция print func1 () вызывает нашу функцию def func1 (): и печатает команду « Я изучаю функцию Python None ».
В Python есть набор правил для определения функции.
- Любые аргументы или входные параметры должны быть помещены в эти скобки
- Первый оператор функции может быть необязательным оператором — строкой документации или строкой документации функции
- Код в каждой функции начинается с двоеточия (:) и должен иметь отступ (пробел)
- Оператор return (выражение) выходит из функции, дополнительно передавая значение вызывающей стороне. Оператор return без аргументов совпадает с оператором return None.
Значение отступа (пробела) в Python
Прежде чем мы ознакомимся с функциями Python, важно, чтобы мы понимали правило отступа для объявления функций Python, и эти правила применимы к другим элементам Python, а также к объявлению условий, циклов или переменных.
Python использует определенный стиль отступов для определения кода, поскольку функции Python не имеют явных начальных или конечных фигурных скобок, указывающих начало и конец функции, они должны полагаться на этот отступ . Здесь мы возьмем простой пример с командой «print». Когда мы напишем функцию «print» прямо под def func 1 (): она покажет « ошибка отступа: ожидается блок с отступом ».
Теперь, когда вы добавляете отступ (пробел) перед функцией «печать», он должен печататься как положено.
По крайней мере, одного отступа достаточно, чтобы ваш код работал успешно. Но в качестве лучшей практики желательно оставить около 3-4 отступов для вызова вашей функции .
Также необходимо, чтобы при объявлении отступа вы сохраняли тот же отступ для всего остального кода . Например, на снимке экрана ниже, когда мы вызываем другое выражение «все еще в func1», и когда оно не объявлено прямо под первым оператором печати, будет отображаться ошибка отступа «unindent не соответствует ни одному другому уровню отступа».
Теперь, когда мы применяем одинаковые отступы для обоих операторов и выравниваем их в одной строке, это дает ожидаемый результат.
Как функция возвращает значение?
Команда возврата в Python указывает, какое значение нужно вернуть вызывающей функции.
Давайте разберемся с этим на следующем примере
Шаг 1) Здесь — мы видим, когда функция не «возвращает». Например, нам нужен квадрат 4, и он должен дать ответ «16» при выполнении кода. Что это дает, когда мы просто используем код «print x * x», но когда вы вызываете функцию «print square», она выдает «None» в качестве вывода. Это потому, что когда вы вызываете функцию, рекурсия не происходит и падает до конца функции. Python возвращает «None» для сбоя в конце функции.
Шаг 2) Чтобы сделать это более понятным, мы заменим команду печати на команду присваивания. Давайте проверим вывод.
Когда вы запускаете команду «print square (4)», она на самом деле возвращает значение объекта, поскольку у нас нет какой-либо конкретной функции для запуска, она возвращает «None».
Шаг 3) Теперь мы увидим, как получить вывод, используя команду «return». Когда вы используете функцию «return» и выполняете код, он выдаст «16».
Шаг 4) Функции в Python сами по себе являются объектом, и объект имеет некоторое значение. Здесь мы увидим, как Python обрабатывает объект. При запуске команды «печать квадрата» возвращается значение объекта. Поскольку мы не передали никакого аргумента, у нас нет какой-либо конкретной функции для запуска, поэтому она возвращает значение по умолчанию (0x021B2D30), которое является местоположением объекта. В практической программе на Python вам, вероятно, никогда не понадобится это делать.
Аргументы в функциях
Аргумент — это значение, которое передается функции при ее вызове.
Другими словами, на вызывающей стороне это аргумент, а на стороне функции — параметр.
Давайте посмотрим, как работает Python Args —
Шаг 1) Аргументы объявляются в определении функции. При вызове функции вы можете передать значения для этих аргументов, как показано ниже
Шаг 2) Чтобы объявить значение аргумента по умолчанию, присвойте ему значение при определении функции.
Пример: x не имеет значений по умолчанию. Значения по умолчанию y = 0. Когда мы предоставляем только один аргумент при вызове функции умножения, Python назначает предоставленное значение для x, сохраняя значение y = 0. Следовательно, умножение x * y = 0
Шаг 3) На этот раз мы изменим значение на y = 2 вместо значения по умолчанию y = 0, и он вернет выходной результат как (4×2) = 8.
Шаг 4) Вы также можете изменить порядок передачи аргументов в Python. Здесь мы изменили порядок значений x и y на x = 4 и y = 2.
Шаг 5) Несколько аргументов также могут быть переданы в виде массива. Здесь в примере мы вызываем несколько аргументов (1,2,3,4,5), вызывая функцию (* args).
Пример: мы объявили несколько аргументов как число (1,2,3,4,5) при вызове функции (* args); выводит вывод как (1,2,3,4,5)
Советы :
- В Python 2.7. Перегрузка функций не поддерживается в Python. Перегрузка функций — это возможность создавать несколько методов с одинаковым именем с разной реализацией. Перегрузка функций полностью поддерживается в Python 3
- Существует путаница между методами и функциями. Методы в Python связаны с экземплярами объекта, а функция — нет. Когда Python вызывает метод, он связывает первый параметр этого вызова с соответствующей ссылкой на объект. Проще говоря, автономная функция в Python — это «функция», тогда как функция, которая является атрибутом класса или экземпляра, является «методом».
Вот полный код Python 3
#define a function def func1(): print ("I am learning Python function") print ("still in func1") func1() def square(x): return x*x print(square(4)) def multiply(x,y=0): print("value of x=",x) print("value of y=",y) return x*y print(multiply(y=2,x=4))
Вот полный код Python 2
#define a function def func1(): print " I am learning Python function" print " still in func1" func1() def square(x): return x*x print square(4) def multiply(x,y=0): print"value of x=",x print"value of y=",y return x*y print multiply(y=2,x=4)
Резюме:
Функция в Python — это фрагмент кода для повторного использования, который используется для выполнения одного связанного действия. В этой статье мы увидим
- Функция определяется четкости заявления
- Блок кода в каждой функции начинается с двоеточия (:) и должен иметь отступ (пробел)
- Любые аргументы или входные параметры должны быть помещены в эти круглые скобки и т. Д.
- После объявления функции перед кодом должен быть хотя бы один отступ
- Одинаковый стиль отступа должен поддерживаться во всем коде внутри функции def
- Для лучших практик три или четыре абзаца считаются лучшими перед утверждением
- Вы можете использовать команду «return» для возврата значений в вызов функции.
- Python напечатает случайное значение, например (0x021B2D30), когда аргумент не передается вызывающей функции. Пример «функция печати».
- На вызывающей стороне это аргумент, а на стороне функции это параметр
- Значение по умолчанию в аргументе — когда мы предоставляем только один аргумент при вызове функции умножения или любой другой функции, Python назначает другой аргумент по умолчанию
- Python также позволяет изменить порядок аргументов