Как сделать несколько функций в python
Перейти к содержимому

Как сделать несколько функций в python

  • автор:

Как сделать несколько return в одной функции в Python?

Функция в python может вернуть значение только один раз. Если нужно вернуть разные значения в зависимости от условий, то можно воспользоваться условной конструкцией if :

def function(): . if condition1: return result1 if condition2: return result2 

Также можно вернуть несколько значений одновременно в виде кортежа:

def function(): . return result1, result2 

Как сделать что бы несколько функций работали одновременно python

Стоит метка async-await . Вам принципиально использовать именно этот механизм? Или можно дать ответ с простыми потоками?

19 авг 2020 в 3:46
Не принципиально
19 авг 2020 в 3:59
ответил, проверьте. Примите, если помогло в достаточной степени.
19 авг 2020 в 4:01
А они как-то взаимодействуют? Почему это не 2 разные программы?
19 авг 2020 в 15:50

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Вот ответ с использованием модуля threading :

from lib.bot import Bot from threading import Thread # Initialize the bot bot = Bot() if __name__ == '__main__': print("START") # Создаём два потока для каждого из методов t1 = Thread(target=bot.run) t2 = Thread(target=bot.run2) t1.start() # Запустили один метод на выполнение в потоке t2.start() # Не дожидаясь окончания первого, запустили второй на выполнение в другом потоке t1.join() # Теперь ждём завершения первого (второй при этом тоже выполняется) t2.join() # Ждём завершения второго (если второй завершится раньше первого, ожидания просто не будет) 

P.S. Вот, вроде бы, неплохая статья про многопоточность в целом и в Python в частности.

Функции в Python для начинающих

В этой части мы изучим функции — составные инструкции, которые могут принимать данные ввода, выполнять указания и возвращать данные вывода. Функции позволяют определять и повторно использовать определенную функциональность в компактной форме.

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

Функции в Python похожи на математические функции из алгебры. Например, в алгебре функция определяется как-то так:

f(x) = x * 2

Левая часть определяет функцию f , принимающую один параметр, x . А правая часть — это определение функции, которое использует переданный параметр x , чтобы произвести вычисление и вернуть результат. В этом случае значением функции является ее параметр, умноженный на два.

Как в Python функция записывается следующим образом: имя_функции(параметры_через_запятую) . Чтобы вызвать функцию, после ее имени нужно указать круглые скобки и поместить внутрь параметры, отделив каждый из них запятой. Для создания функций в Python выберите ее имя, определите параметры, укажите, что функция должна делать и какое значение возвращать.

def имя_функции(параметры): определениие_функции

Математическая функция f(x) = x * 2 в Python будет выглядеть вот так:

def f(x):
return x * 2

Ключевое слово def сообщает Python, что вы определяете функцию. После def вы указываете имя функции; оно должно отвечать тем же правилам, что и имена переменных. Согласно конвенции, в имени функции нельзя использовать заглавные буквы, а слова должны быть разделены подчеркиванием вот_так .

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

После скобок ставится двоеточие, а новая строка начинается с отступа в четыре пробела. Любой код с отступом в четыре пробела после двоеточия является телом функции. В этом случае тело нашей функции состоит только из одной строки:

return x * 2

Ключевое слово return используется для определения значения, которое функция возвращает при вызове.

Чтобы вызвать функцию в Python, мы используем синтаксис имя_функции(параметры, через, запятую) .

Ниже описан вызов функции f из предыдущего примера с параметром 2 .

Консоль ничего не вывела. Можно сохранить вывод вашей функции в переменной и передать ее функции print .

# Продолжение
# предыдущего примера
def f(x):
return x * 2
result = f(2)
print(result) # 4

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

def f(x):
return x + 1
z = f(4)
if z == 5:
print("z равно 5")
else:
print ("z не равно 5")

У функции может быть один параметр, несколько параметров или вообще их не быть. Чтобы определить функцию, не требующую параметров, оставьте круглые скобки пустыми.

def f():
return 1 + 1
result = f()
print(result) # 2

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

def f(x, y, z):
return x + y + z
result = f(1, 2, 3)
print(result) # 6

Наконец, функция не обязана содержать инструкцию return. Если функции нечего возвращать, она возвращает значение None .

def f():
z = 1 + 1
result = f()
print(result) # None

Обязательные и необязательные параметры ¶

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

В Python есть и другой вид параметров — опциональные. Опциональные параметры определяются с помощью следующего синтаксиса: имя_функции(имя_параметра = значение_параметра) . Как и обязательные, опциональные параметры нужно отделять запятыми. Ниже приведен пример функции, в коде которой используется опциональный параметр.

def f(x=2):
return x**x
print (f()) # 4
print (f(4)) # 16

Сначала функция вызывается без передачи параметра. Так как параметр необязательный, x автоматически становится равен 2 , и функция возвращает 4 .

Затем та же функция вызывается с параметром 4 . То есть x будет равен 4 и функция вернет 16 . Вы можете определить функцию, которая принимает как обязательные, так и опциональные параметры, но обязательные нужно определять в первую очередь.

def add(x, y=10):
return x + y
result = add(2)
print(result)

Python с нуля. Освойте с Виртуальным ИИ-помощником!

Как сделать запуск функции в Python?

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

def function(a, b): # описание функции return a + b # вызов функции с аргументами возвращает результат function(3, 5) # 8 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *