Руководство Python Function
1. Python Function
Функция (function) - это специальный командный блок, который назван и он помогает программному коду быть более легким для чтения, и он вызывается для использования в разных местах программы. Эта функция является многоразовым (reuseable) командным блоком.
Синтаксис:
** function syntax **
def functionName( parameters ):
"Short description of the function"
codes ...
return [expression]
- Любая функция (function) начинается с ключевого слова def (аббревиатура define) и сопровождается именем функции.
- Далее, это список параметров в скобках () и двоеточии (:), функция может включать 0, 1 или много параметров, параметры разделяются запятой.
- Первая строка тела функции (function body) - это краткое описание функции (необязательно).
Команда возврата (return):
Команда возврата используется чтобы вернуть значение (или выражение), или просто возвращает "ничего". Когда выполняется команла return (возврат), функция будет завершена. Возврат (return) - это необязательная команда в теле функции.
Пример | Описание |
return 3 | функция возвращает значение и заканчивается. |
return | функция ничего не возвращает и заканчивается. |
Параметры (parameters):
Функция включает 0, 1 или много параметров, разделённые запятой. Существует четыре вида параметров:
- Обьязательный параметр
- Параметр по умолчанию (Default parameter)
- Параметр переменной длины (Variable-Length Parameter)
- Параметр ключевого слова (Keyword Parameter)
2. Пример с Function
Например, функция с параметром и возвращает "ничего".
functionExample1.py
# Определение функции:
def sayHello(name) :
# Проверить является ли name пустым (empty) или null.
if not name :
print( "Hello every body!" )
# Если name не является пустым и не null.
else :
print( "Hello " + name)
# Вызвать функцию, передать параметр в функцию.
sayHello("")
sayHello("Python");
sayHello("Java");
Output:
Hello every body!
Hello Python
Hello Java
Следующий пример функции с параметром и возвращает значение.
functionExample2.py
# Определение функции:
def getGreeting(name) :
# Проверить является ли name пустым (empty) или null (None).
if not name :
# Возвращает значение.
# И функция закончится здесь.
return "Hello every body!"
# Если name не является пустым и не null (Не None).
# код ниже будет выполнен.
return "Hello " + name
# Вызвать функцию, передать параметр в функцию.
greeting = getGreeting("")
print(greeting)
greeting = getGreeting("Python")
print(greeting)
Output:
Hello every body!
Hello Python
3. Функция с обязательным параметром
Следующий пример определяет функцию showInfo, имеющую 2 параметра, оба параметра обязательны. Когда вы вызываете эту функцию, вам нужно передать 2 параметра для функции. В противном случае программа выдаст ошибку.
requiredParameterExample.py
def showInfo(name, gender):
print ("Name: ", name);
print ("Gender: ", gender);
# Valid
showInfo("Tran", "Male")
# Invalid ==> Error!!
showInfo("Tran")
4. Функция с параметром по умолчанию
Функция имеет много параметров, включая обьязательные параметры и парамтры со значениями по умолчанию.
Функция showInfo ниже имеет три параметра (name, gender = "Male", country = "US"):
- name является обьязательным параметром.
- gender является параметром со значением по умолчанию "Male".
- country является параметром со значением по умолчанию "US".
defaultParameterExample.py
def showInfo(name, gender = "Male", country ="US"):
print ("Name: ", name)
print ("Gender: ", gender)
print ("Country: ", country)
# Valid
showInfo("Aladdin", "Male", "India")
print (" ------ ")
# Valid
showInfo("Tom", "Male")
print (" ------ ")
# Valid
showInfo("Jerry")
print (" ------ ")
# Valid
showInfo(name = "Tintin", country ="France")
print (" ------ ")
Output:
Name: Aladdin
Gender: Male
Country: India
------
Name: Tom
Gender: Male
Country: US
------
Name: Jerry
Gender: Male
Country: US
------
Name: Tintin
Gender: Male
Country: France
------
5. Функция с параметром переменной длины
Параметр переменной длины (Variable-length Parameter) является специальным параметром. При вызове функции вы можете передать 0, 1 или много значений этому параметру.
Примечание:"Variable-length Parameter" всегда должен быть последним параметром функции.
Примечание:"Variable-length Parameter" всегда должен быть последним параметром функции.
Пример:
Функция sumValues имеет три параметра:
- Параметры a, b обьязательны.
- Параметр *others является "Variable-Length Parameter".
variableLengthParameterExample.py
def sumValues(a, b, *others):
retValue = a + b
# Параметр 'others' похож на массив.
for other in others :
retValue = retValue + other
return retValue
Как вызвать функцию:
testVariableLengthParameter.py
from variableLengthParameterExample import sumValues
# Передать: *others = []
a = sumValues(10, 20)
print("sumValues(10, 20) = ", a);
# Передать: *others = [1]
a = sumValues(10, 20, 1);
print("sumValues(10, 20, 1 ) = ", a);
# Передать: *others = [1,2]
a = sumValues(10, 20, 1, 2);
print("sumValues(10, 20, 1 , 2) = ", a);
# Передать: *others = [1,2,3,4,5]
a = sumValues(10, 20, 1, 2,3,4,5);
print("sumValues(10, 20, 1, 2, 3, 4, 5) = ", a);
Output:
sumValues(10, 20) = 30
sumValues(10, 20, 1) = 31
sumValues(10, 20, 1, 2) = 33
sumValues(10, 20, 1, 2, 3, 4, 5) = 45
6. Анонимная функция
Функции являются анонимными (anonymous) если они не определены обычным способом ключевым словом def, а используя ключевое слово lambda.
- Анонимная функция может иметь 0 или более параметров, но в теле функции есть только одно выражение (expression). Значение выражения является возвращенным значением функции. Но нельзя использовать ключевое слово 'return' сразу перед выражением.
- Список параметров разделены запятой, и не должны быть в круглых скобках ( ).
- В теле анонимной функции, вы не можете иметь доступ к переменным снаружи, вы можете только иметь досту к е параметрам.
- Анонимная функция не может вызвать напрямую функцию print, так как lambda требует выражение.
Синтаксис:
* syntax *
lambda [arg1 [,arg2,.....argn]] : expression
пример
lambdaFunctionExample.py
# Объявить переменную: hello = анонимная фукнция и не имеет параметра.
hello = lambda : "Hello"
# Объявить переменную: mySum = анонимная фукнция с 2-мя параметрами.
mySum = lambda a, b : a + b
a= hello()
print (a)
a = mySum(10, 20)
print (a)
Output:
Hello
30
Pуководства Python
- Документация по поиску Python
- Ветвление операторы в Python
- Руководство Python Function
- Класс и объект в Python
- Наследование и полиморфизм в Python
- Руководство Python Dictionary
- Руководство Python Lists
- Руководство Python Tuples
- Руководство Python Date Time
- Подключиться к базе данных MySQL на Python с помощью PyMySQL
- Руководство по исключению Python
- Руководство Python String
- Введение в Python
- Установить Python в Windows
- Установите Python в Ubuntu
- Установите PyDev для Eclipse
- Соглашения и версии грамматики в Python
- Руководство Python для начинающих
- Петли в Python
Show More