- Введение Во всех языках программирования и сценариев функция — это блок программных операторов, которые можно многократно использовать в программе. Это экономит время разработчика. В Python концепция функции такая же, как и в других языках. Есть несколько встроенных функций, которые являются частью Python. Кроме того, мы можем определять функции в соответствии с нашими потребностями. Пользовательская функция В Python объявление пользовательской функции начинается с ключевое слово def, за которым следует имя функции. Функция может принимать аргументы в качестве входных данных в открывающих и закрывающих круглых скобках сразу после имени функции, за которым следует двоеточие. После определения имени функции и аргументы (ы) блока программных операторов начинаются со следующей строки, и эти операторы должны иметь отступ. Вот синтаксис определяемой пользователем функции . Синтаксис: def имя_функции (аргумент1, аргумент2, ...): оператор_1 оператор_2 .... Внутренний вызов функции () # f (0, 0) ( ) # f (x = 0, y = 0) (, ) # f (0, y = 0) Внутренний вызов функции def f (): # def f (x, y): def f (): # def f (x = 0, y = 0): def f (, ): # def f (x, y = 0): Вызов функции Вызов функции в Python аналогичен вызову других функций. языков программирования, используя имя функции, круглые скобки (открывающие и закрывающие) и параметр (ы). См. Синтаксис и пример. имя_функции (arg1, arg2) Аргумент комбинации: def f (a, b, c): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, b = 3) | f (1, 2, 3) def f (*, a, b, c): # f (a = 1, b = 2, c = 3) def f (a, *, b, c): # f ( a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) def f (a, b, *, c): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3) def f (* args): # f (1, 2, 3) def f (a, * args): # f (1, 2, 3) def f (* args, c): # f (1, 2, c = 3) def f (a, * args, c): # f (1, 2, c = 3) def f (* * kwargs): # f (a = 1, b = 2, c = 3) def f (a, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) def f (*, a, ** kwargs): # f (a = 1, b = 2, c = 3) def f (* args, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3) | f (1, 2, 3) def f (a, * args, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3) | f (1, 2, 3) def f (* args, b, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) def f (a, * args, c, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3) Пример: def avg_number (x, y ): print ("Среднее значение", x, "и", y, "равно", (x + y)/2) avg_number (3, 4) Вывод: Среднее значение 3 и 4 равно 3,5 Пояснение: 1. Строки 1-2: Детали (определение) функции. 2. Строка 3: вызов функции. 3. Строка 1: параметры передачи: x = 3, y = 4 4. Строка 2: распечатать значение двух параметров, а также их среднее значение. Функция без аргументов: Следующая функция не имеет аргументов. def имя_функции (): оператор_1 оператор_2 …. Пример: def printt (): print ("Это учебное пособие по Python 3.2") print (" Это учебное пособие по Python 3.2 ") print (" Это учебное пособие по Python 3.2 ") printt () Вывод: Это учебное пособие по Python 3.2 Это это учебное пособие по Python 3.2. Это учебное пособие по Python 3.2 Пояснение: 1. Строки 1-4: Детали (определение) функции. 2. Строка 5: вызов функции. 3. Строка 1: параметры не передаются. 4. Строка 2-4: выполнить три оператора печати. Оператор Return в функции В Python оператор return (слово return, за которым следует выражение.) используется для возврата значения из функции, оператор return без аргумента выражения не возвращает ничего. См. Синтаксис. def имя_функции (аргумент1, аргумент2, …): оператор_1 оператор_2 … . возвращаемое выражение имя_функции (arg1, arg2) Пример: Следующая функция возвращает квадрат суммы двух чисел. def nsquare (x, y): return (x * x + 2 * x * y + y * y) print («Квадрат суммы 2 и 3 равен:», 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 ("Квадрат суммы из 2 и 2 это: ", nsquare (2)) print (" Квадрат суммы 2 и 3 равен: ", nsquare (2,4)) Вывод : Квадрат суммы 2 и 2 равен: 16 Квадрат суммы 2 и 4 равен: 36 Пояснение: Строки 1-2: Детали (определение) функции.. Для первого оператора печати [Строка № 3] Строка 3: Вызов функции без второго аргумента в операторе печати. Строка 1: Передача параметров x = 2, значение по умолчанию. Строка 2: вычислить и вернуть значение (x + y) 2 для второго оператора печати [ Строка № 4] Строка 3: Вызов функции со всеми аргументами в операторе печати. Строка 1: Передача параметров x = 2, y = 4. Строка 2 : Вычислить и вернуть значение (x + y) 2 Аргументы ключевого слова: Мы уже узнали, как использовать значения аргументов по умолчанию, функции также можно вызывать с помощью ключевых слов arguments. Аргументы, которым предшествует имя переменной, за которым следует знак ‘=’ (например, var_name = «), называются аргументами ключевого слова. Все переданные аргументы ключевого слова должны соответствовать одному из аргументов, принимаемых функцией . Вы можете изменить порядок появления ключевых слов. См. Следующий пример. def Marks (english, math = 85, science = 80): print ('Marks in: English is -', english, ', Math -', math, ', Science -', science) оценок (71, 77) оценки (65, наука = 74) оценки (наука = 70, математика = 90, английский = 75) Вывод: Оценки на: английском языке составляет 71, математика - 77, естественные науки - 80Отчетов по: английский - 65, математика - 85, естественные науки - 74Оценка: английский - 75, математика - 90, естественные науки - 70 Объяснение: Строка 1: функция с именем mark имеет три параметра, первый параметр не имеет значения по умолчанию (английский), но остальные параметры имеют значения по умолчанию (math = 85, наука = 80). Строка 3: параметр english получает значение 71, математика получает значение 77, а наука получает значение по умолчанию 80. Строка 4: параметр english получает значение 65 , математика получает значение по умолчанию 85, а наука получает значение 74 из-за аргументов ключевого слова. Строка 5: Здесь мы используем три аргумента ключевого слова, и параметр english получает значение 75, математика получает значение 90, а наука получает значение 70. Произвольный Списки аргументов: Список «произвольных аргументов» — это еще один способ передачи аргументов функции. В теле функции эти аргументы будут заключены в кортеж, который можно определить с помощью конструкции * args. Перед этой переменной вы можете определить количество аргументов или без аргументов. def sum (* числа): s = 0 для n в числах: s + = n return sprint (sum (1,2,3,4)) Вывод: 10 Лямбда-формы: В Python небольшие анонимные (безымянные) функции могут быть созданы с помощью ключевого слова лямбда. Лямбда-формы могут использоваться в качестве аргумента для другой функции, где требуются функциональные объекты, но синтаксически они ограничены одним выражением.. Такая функция: def average (x, y): return (x + y)/2print (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): "" "Вычислить и распечатать среднее значение двух Числа. Создано 29/12/2012. Python-docstring-example.py "" "print (" Среднее значение ", x," и ", y," равно ", (x + y)/2) Проверьте свои навыки Python с помощью викторины w3resource
- Пользовательская функция
- Вызов функции
Введение
Во всех языках программирования и сценариев функция — это блок программных операторов, которые можно многократно использовать в программе. Это экономит время разработчика. В Python концепция функции такая же, как и в других языках. Есть несколько встроенных функций, которые являются частью Python. Кроме того, мы можем определять функции в соответствии с нашими потребностями.
Пользовательская функция
- В Python объявление пользовательской функции начинается с ключевое слово def, за которым следует имя функции.
- Функция может принимать аргументы в качестве входных данных в открывающих и закрывающих круглых скобках сразу после имени функции, за которым следует двоеточие.
- После определения имени функции и аргументы (ы) блока программных операторов начинаются со следующей строки, и эти операторы должны иметь отступ.
Вот синтаксис определяемой пользователем функции .
Синтаксис:
def имя_функции (аргумент1, аргумент2, ...): оператор_1 оператор_2 ....
Внутренний вызов функции
() # f (0, 0) ( ) # f (x = 0, y = 0) (, ) # f (0, y = 0)
Внутренний вызов функции
def f (): # def f (x, y): def f (): # def f (x = 0, y = 0): def f (, ): # def f (x, y = 0):
Вызов функции
Вызов функции в Python аналогичен вызову других функций. языков программирования, используя имя функции, круглые скобки (открывающие и закрывающие) и параметр (ы). См. Синтаксис и пример.
имя_функции (arg1, arg2)
Аргумент комбинации:
def f (a, b, c): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, b = 3) | f (1, 2, 3) def f (*, a, b, c): # f (a = 1, b = 2, c = 3) def f (a, *, b, c): # f ( a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) def f (a, b, *, c): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3)
def f (* args): # f (1, 2, 3) def f (a, * args): # f (1, 2, 3) def f (* args, c): # f (1, 2, c = 3) def f (a, * args, c): # f (1, 2, c = 3)
def f (* * kwargs): # f (a = 1, b = 2, c = 3) def f (a, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) def f (*, a, ** kwargs): # f (a = 1, b = 2, c = 3)
def f (* args, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3) | f (1, 2, 3) def f (a, * args, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3) | f (1, 2, 3) def f (* args, b, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) def f (a, * args, c, ** kwargs): # f (a = 1, b = 2, c = 3) | f (1, b = 2, c = 3) | f (1, 2, c = 3)
Пример:
def avg_number (x, y ): print ("Среднее значение", x, "и", y, "равно", (x + y)/2) avg_number (3, 4)
Вывод:
Среднее значение 3 и 4 равно 3,5
Пояснение:
1. Строки 1-2: Детали (определение) функции.
2. Строка 3: вызов функции.
3. Строка 1: параметры передачи: x = 3, y = 4
4. Строка 2: распечатать значение двух параметров, а также их среднее значение.
Функция без аргументов:
Следующая функция не имеет аргументов.
def имя_функции ():
оператор_1
оператор_2
….
Пример:
def printt (): print ("Это учебное пособие по Python 3.2") print (" Это учебное пособие по Python 3.2 ") print (" Это учебное пособие по Python 3.2 ") printt ()
Вывод:
Это учебное пособие по Python 3.2 Это это учебное пособие по Python 3.2. Это учебное пособие по Python 3.2
Пояснение:
1. Строки 1-4: Детали (определение) функции.
2. Строка 5: вызов функции.
3. Строка 1: параметры не передаются.
4. Строка 2-4: выполнить три оператора печати.
Оператор Return в функции
В Python оператор return (слово return, за которым следует выражение.) используется для возврата значения из функции, оператор return без аргумента выражения не возвращает ничего. См. Синтаксис.
def имя_функции (аргумент1, аргумент2, …):
оператор_1
оператор_2
… .
возвращаемое выражение
имя_функции (arg1, arg2)
Пример:
Следующая функция возвращает квадрат суммы двух чисел.
def nsquare (x, y): return (x * x + 2 * x * y + y * y) print («Квадрат суммы 2 и 3 равен:», 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 ("Квадрат суммы из 2 и 2 это: ", nsquare (2)) print (" Квадрат суммы 2 и 3 равен: ", nsquare (2,4))
Вывод :
Квадрат суммы 2 и 2 равен: 16 Квадрат суммы 2 и 4 равен: 36
Пояснение:
Строки 1-2: Детали (определение) функции..
Для первого оператора печати [Строка № 3]
Строка 3: Вызов функции без второго аргумента в операторе печати.
Строка 1: Передача параметров x = 2, значение по умолчанию.
Строка 2: вычислить и вернуть значение (x + y) 2
для второго оператора печати [ Строка № 4]
Строка 3: Вызов функции со всеми аргументами в операторе печати.
Строка 1: Передача параметров x = 2, y = 4.
Строка 2 : Вычислить и вернуть значение (x + y) 2
Аргументы ключевого слова:
Мы уже узнали, как использовать значения аргументов по умолчанию, функции также можно вызывать с помощью ключевых слов arguments. Аргументы, которым предшествует имя переменной, за которым следует знак ‘=’ (например, var_name = «), называются аргументами ключевого слова.
Все переданные аргументы ключевого слова должны соответствовать одному из аргументов, принимаемых функцией . Вы можете изменить порядок появления ключевых слов. См. Следующий пример.
def Marks (english, math = 85, science = 80): print ('Marks in: English is -', english, ', Math -', math, ', Science -', science) оценок (71, 77) оценки (65, наука = 74) оценки (наука = 70, математика = 90, английский = 75)
Вывод:
Оценки на: английском языке составляет 71, математика - 77, естественные науки - 80Отчетов по: английский - 65, математика - 85, естественные науки - 74Оценка: английский - 75, математика - 90, естественные науки - 70
Объяснение:
Строка 1: функция с именем mark имеет три параметра, первый параметр не имеет значения по умолчанию (английский), но остальные параметры имеют значения по умолчанию (math = 85, наука = 80).
Строка 3: параметр english получает значение 71, математика получает значение 77, а наука получает значение по умолчанию 80.
Строка 4: параметр english получает значение 65 , математика получает значение по умолчанию 85, а наука получает значение 74 из-за аргументов ключевого слова.
Строка 5: Здесь мы используем три аргумента ключевого слова, и параметр english получает значение 75, математика получает значение 90, а наука получает значение 70.
Произвольный Списки аргументов:
Список «произвольных аргументов» — это еще один способ передачи аргументов функции. В теле функции эти аргументы будут заключены в кортеж, который можно определить с помощью конструкции * args. Перед этой переменной вы можете определить количество аргументов или без аргументов.
def sum (* числа): s = 0 для n в числах: s + = n return sprint (sum (1,2,3,4))
Вывод:
10
Лямбда-формы:
В Python небольшие анонимные (безымянные) функции могут быть созданы с помощью ключевого слова лямбда. Лямбда-формы могут использоваться в качестве аргумента для другой функции, где требуются функциональные объекты, но синтаксически они ограничены одним выражением.. Такая функция:
def average (x, y): return (x + y)/2print (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): "" "Вычислить и распечатать среднее значение двух Числа. Создано 29/12/2012. Python-docstring-example.py "" "print (" Среднее значение ", x," и ", y," равно ", (x + y)/2)
Проверьте свои навыки Python с помощью викторины w3resource