Пользовательские функции Python
Вступление
Во всех языках программирования и написания сценариев функция - это блок операторов программы, который может использоваться в программе многократно. Это экономит время разработчика. В Python понятие функции такое же, как и в других языках. Есть несколько встроенных функций, которые являются частью Python. Кроме того, мы можем определять функции в соответствии с нашими потребностями.
Пользовательская функция
- В Python объявление пользовательской функции начинается с ключевого слова def, за которым следует имя функции.
- Функция может принимать аргументы в качестве входных данных в открывающих и закрывающих скобках, сразу после имени функции, за которым следует двоеточие.
- После определения имени функции и аргументов (ей) блок оператора (ов) программы начинается со следующей строки, и эти операторы должны иметь отступ.
Вот синтаксис определенной пользователем функции.
Синтаксис:
def имя_функции (аргумент1, аргумент2, ...): statement_1 statement_2 ....
Вызвать функцию
Вызов функции в Python аналогичен другим языкам программирования, используя имя функции, круглые скобки (открытие и закрытие) и параметр (ы). Смотрите синтаксис, а затем пример.
Синтаксис:
имя_функции (arg1, arg2)
Пример:
def avg_number(x, y):
print("Average of ",x," and ",y, " is ",(x+y)/2)
avg_number(3, 4)
Выход:
Среднее 3 и 4 3,5
Объяснение:
1. Строки 1-2: Детали (определение) функции.
2. Строка 3: вызов функции.
3. Строка 1: передать параметры: х = 3, у = 4
4. Строка 2: выведите значение двух параметров, а также их среднее значение.
Функция без аргументов:
Следующая функция не имеет аргументов.
def имя_функции ():
statement_1
statement_2
....
Пример:
def printt():
print("This is Python 3.2 Tutorial")
print("This is Python 3.2 Tutorial")
print("This is Python 3.2 Tutorial")
printt()
Выход:
Это Python 3.2 Tutorial Это Python 3.2 Tutorial Это Python 3.2 Tutorial
Объяснение:
1. Строки 1-4: детали (определение) функции.
2. Строка 5: вызов функции.
3. Строка 1: параметры не передаются.
4. Строка 2-4: выполнить три оператора печати.
Оператор Return в функции
В Python оператор return (слово return, за которым следует выражение.) Используется для возврата значения из функции, оператор return без аргумента выражения не возвращает ничего. Смотрите синтаксис.
def имя_функции (аргумент1, аргумент2, ...):
statement_1
statement_2
....
возвращаемое выражение
имя_функции (arg1, arg2)
Пример:
Следующая функция возвращает квадрат суммы двух чисел.
def nsquare(x, y):
return (x*x + 2*x*y + y*y)
print("The square of the sum of 2 and 3 is : ", nsquare(2, 3))
Выход:
Квадрат суммы 2 и 3: 25
Объяснение:
1. Строки 1-2: Детали (определение) функции.
2. Строка 3: вызов функции внутри оператора печати.
3. Строка 1: передать параметры x = 2, y = 3
4. Строка 2: вычислить и вернуть значение (x + y) 2
Значения аргумента по умолчанию
В списке параметров функции мы можем указать значения по умолчанию для одного или нескольких аргументов. Значение по умолчанию может быть записано в формате «аргумент1 = значение», поэтому у нас будет возможность объявить или не объявить значение для этих аргументов. Смотрите следующий пример.
Пример:
Следующая функция возвращает квадрат суммы двух чисел, где значение по умолчанию второго аргумента равно 2.
def nsquare(x, y = 2):
return (x*x + 2*x*y + y*y)
print("The square of the sum of 2 and 2 is : ", nsquare(2))
print("The square of the sum of 2 and 3 is : ", nsquare(2,4))
Выход:
Квадрат суммы 2 и 2: 16 Квадрат суммы 2 и 4: 36
Объяснение:
Строки 1-2: Детали (определение) функции.
Для первого заявления на печать [Строка № 3]
Строка 3: вызов функции без второго аргумента внутри оператора print.
Строка 1: передать параметры x = 2, значение по умолчанию.
Строка 2: вычислить и вернуть значение (x + y) 2
Для второго оператора печати [Строка № 4]
Строка 3: вызов функции со всеми аргументами внутри оператора print.
Строка 1: передать параметры x = 2, y = 4.
Строка 2: вычислить и вернуть значение (x + y) 2
Ключевое слово Аргументы:
Мы уже узнали, как использовать значения аргументов по умолчанию, функции также можно вызывать с помощью аргументов ключевых слов. Аргументы, которым предшествует имя переменной и знак «=» (например, var_name = "), называются ключевыми аргументами.
Все передаваемые ключевые слова должны соответствовать одному из аргументов, принятых функцией. Вы можете изменить порядок появления ключевого слова. Смотрите следующий пример.
Пример:
def marks(english, math = 85, science = 80):
print('Marks in : English is - ', english,', Math - ',math, ', Science - ',science)
marks(71, 77)
marks(65, science = 74)
marks(science = 70, math = 90, english = 75)
Выход:
Оценка: английский - 71, математика - 77, наука - 80 Оценка: английский - 65, математика - 85, наука - 74 Оценка по: английский - 75, математика - 90, наука - 70
Объяснение:
Строка 1: функция именованных меток имеет три параметра, в первом параметре (на английском языке) нет значения по умолчанию, но остальные параметры имеют значения по умолчанию (математика = 85, наука = 80).
Строка 3: параметр english получает значение 71, математика получает значение 77, а наука получает значение по умолчанию 80.
Строка 4: параметр english получает значение 65, математика получает значение по умолчанию 85, а наука получает значение 74 благодаря аргументам ключевых слов.
Строка 5: здесь мы используем три ключевых аргумента, а параметр english получает значение 75, математика получает значение 90, а наука получает значение 70.
Списки произвольных аргументов:
Список произвольных аргументов - это еще один способ передачи аргументов в функцию. В теле функции эти аргументы будут заключены в кортеж, и его можно определить с помощью конструкции * args. Перед этой переменной вы можете определить количество аргументов или не аргумент.
Пример:
def sum(*numbers):
s = 0
for n in numbers:
s += n
return s
print(sum(1,2,3,4))
Выход:
10
Лямбда-формы:
В Python небольшие анонимные (безымянные) функции могут быть созданы с помощью ключевого слова lambda. Лямбда-формы могут быть использованы в качестве аргумента для другой функции, где требуются функциональные объекты, но синтаксически они ограничены одним выражением. Функция как это:
def average(x, y):
return (x + y)/2
print(average(4, 3))
также может быть определено с помощью лямбда
print((lambda x, y: (x + y)/2)(4, 3))
Выход:
3,5
Строки документации Python
В Python строковый литерал используется для документирования модуля, функции, класса или метода. Вы можете получить доступ к строковым литералам по атрибуту объекта __doc__ (обратите внимание на двойное подчеркивание) (например, my_function .__ doc__).
Соглашения о документах:
- Строковые литералы должны быть заключены в тройную кавычку. Документы должны быть информативными
- Первая строка может кратко описать цель объекта. Строка должна начинаться с заглавной буквы и заканчиваться точкой.
- Если строка документации является строкой из нескольких строк, тогда вторая строка должна быть пустой, после чего следует любое подробное объяснение, начиная с третьей строки.
Смотрите следующий пример с многострочной строкой документации.
def avg_number(x, y):
"""Calculate and Print Average of two Numbers.
Created on 29/12/2012. python-docstring-example.py
"""
print("Average of ",x," and ",y, " is ",(x+y)/2)
Предыдущая: Наборы Python
Далее: Модуль Python
Новый контент: Composer: менеджер зависимостей для PHP , R программирования