Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

Python Учебник


Обработка файлов


Python Модули


Python Matplotlib


Machine Learning


Python MySQL


Python MongoDB


Python Reference


Module Reference


Python How To


Python Examples



Python Функции



Функция — это блок кода, который запускается только при вызове.

Вы можете передавать данные, известные как параметры, в функцию.

В результате функция может возвращать данные.


Python Создание функции

В Python функция определяется с помощью ключевого слова: def.

def my_function():
  print('Привет из функции')

Python Вызов функции

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

def my_function():
  print('Привет из функции')

my_function()
Попробуйте сами »

Python Аргументы

Информация может передаваться в функции в качестве аргументов.

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

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

def my_function(fname):
  print(fname + ' Refsnes')

my_function('Emil')
my_function('Tobias')
my_function('Linus')
Попробуйте сами »

Аргументы часто сокращаются до args в документации по Python



Python Параметры или аргументы?

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

С точки зрения функции:

Параметр — это переменная, указанная в скобках в определении функции.

Аргумент — это значение, которое передается функции при ее вызове.


Python Количество аргументов

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

Эта функция ожидает 2 аргумента и получает 2 аргумента:

def my_function(fname, lname):
  print(fname + ' ' + lname)

my_function('Emil', 'Refsnes')
Попробуйте сами »

Если вы попытаетесь вызвать функцию с 1 или 3 аргументами, вы получите ошибку:

Эта функция ожидает 2 аргумента, но получает только 1:

def my_function(fname, lname):
  print(fname + ' ' + lname)

my_function('Emil')
Попробуйте сами »

Python Произвольные аргументы, *args

Если вы не знаете, сколько аргументов будет передано в вашу функцию, добавьте * перед именем параметра в определении функции.

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

Если количество аргументов неизвестно, добавьте * перед именем параметра:

def my_function(*kids):
  print('Самый младший ребенок ' + kids[2])

my_function('Emil', 'Tobias', 'Linus')
Попробуйте сами »

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


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

Вы также можете отправлять аргументы с синтаксисом ключ = значение syntax.

Таким образом, порядок аргументов не имеет значения.

def my_function(child3, child2, child1):
  print('Самый младший ребенок ' + child3)

my_function(child1 = 'Emil', child2 = 'Tobias', child3 = 'Linus')
Попробуйте сами »

Фраза Аргументы ключевого слова часто сокращается до kwargs в документации Python.


Python Произвольные аргументы ключевого слова, **kwargs

Если вы не знаете, сколько ключевых слов будет передано в вашу функцию, добавьте две звездочки: ** перед именем параметра в определении функции.

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

Если количество аргументов ключевого слова неизвестно, добавьте двойной ** перед именем параметра:

def my_function(**kid):
  print('Его фамилия ' + kid['lname'])

my_function(fname = 'Tobias', lname = 'Refsnes')
Попробуйте сами »

Произвольные аргументы Kword часто сокращаются до **kwargs в документации Python.


Python Значение параметра по умолчанию

В следующем примере показано, как использовать значение параметра по умолчанию.

Если мы вызываем функцию без аргумента, она использует значение по умолчанию:

def my_function(country = 'России'):
  print('Я из ' + country)

my_function('Швеции')
my_function('Индии')
my_function()
my_function('Бразилии')
Попробуйте сами »

Python Передача списка в качестве аргумента

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

Например. если вы отправите список в качестве аргумента, он все равно будет списком, когда он достигнет функции:

def my_function(food):
  for x in food:
    print(x)

fruits = ['яблоко', 'банан', 'вишня']

my_function(fruits)
Попробуйте сами »

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

Чтобы функция возвращала значение, используйте оператор return:

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))
Попробуйте сами »

Python Оператор pass

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

def myfunction():
  pass
Попробуйте сами »

Python Рекурсия

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

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

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

В этом примере, tri_recursion() это функция, которую мы определили для вызова самой себя ("recurse"). Мы используем переменную k в качестве данных, которые уменьшаются (-1) каждый раз. Рекурсия заканчивается, когда условие не больше 0 (т. е. когда оно равно 0).

Новому разработчику может потребоваться некоторое время, чтобы понять, как именно это работает, лучший способ узнать это - протестировать и изменить его.

Пример рекурсии

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nРезультаты примера рекурсии")
tri_recursion(6)
Попробуйте сами »

Python Проверьте себя с упражнениями функций

Python Упражнение функции:

Создайте функцию с именем my_function.

:
  print("Привет из функции")



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

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

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.