~={green}Определения:=~
Такое определение функций допустимо, но вторая функция перезатрет первую.
def f():
print("QWERTY")
def f():
print("ABC")
f()
f()
Любая функция в python возвращает значение. Значение возвращается при помощи оператора return. Если функция не содержит оператор return, то по умолчанию такая функция вернет значение None.
Функция должна выполнять только одну операцию. Она должна выполнять ее хорошо. И ничего другого она делать не должна. Если функция выполняет только те действия, которые находятся на одном уровне под объявленным именем функции, то эта функция выполняет одну операцию.
Будьте последовательны в выражениях возврата: либо все операторы return в функции должны возвращать выражение, либо ни один из них не должен. Если какой-либо оператор return возвращает выражение, то оставшиеся операторы return тоже должны явно возвращать значение, не смотря на то, что python по умолчанию возвращает None. Статья по оформлению [[https://pythonchik.ru/osnovy/imenovanie-v-python]]
~={green}Пример оформления простой функции:=~
# is - в названии функциии
# нет лишних return
def is_even(x):
return x%2 == 0
# пример использования без лишних сравнений
number = int(input("Введите число: "))
while is_even(number):
print(f'{number} является четным')
number = int(input("Введите число: "))
print(f"Вы ввели нечетное число {number}, программа завершилась")
~={green}Возврат кортежа=~
# в return можно не ставить скобки, все равно будет возвращен кортеж
def calc_square_and_perimeter(a, b):
retun a * b, 2 * (a + b)
~={green}Возврат списка=~
# в данном случае нужны скобки [ ]
def calc_square_and_perimeter(a, b):
return [a * b, 2 * (a + b)]
~={green}Передача аргументов=~
_обязательные_
и _необязательные_
.