a = 20 def test(): a = 10 print(a) print(a)
на экране будет 10 а потом 20
a = 20 def test(): b = 10 print(a) print(a)
На экране будет 20, потом 20
a = 20 def test(): global a a = 10 print(a) print(a)
На экране будет 10, потом 10!
a = 20 def test(): b = 10 print(с)
Ошибка: переменная не определена
Правило такое: если внутри функции создается переменная, то внешняя переменная с таким же именем будет недоступна и любые изменения этой переменной останутся внутри функции. Если внутри функции нет переменной, то ищется глобальная переменная. В этом случае все изменения сохранятся и после завершения работы функции (плохой прием).
z = 20 def test (a,b): return a+b print (test(z,30))
Функция получает два аргумента и возвращает одно значение
z = 20 def test (a,b=10): return a+b print (test(z,30)) print (test(z))
Функция получает один или два аргумента и возвращает одно значение. Если получен один только один аргумент, то второй считается равным 10.
z = 20 def test (a=20,b=10): return a+b print (test()) print (test(10)) print (test(10,20))
Значение “по умолчанию” может быть у всех аргументов.
def test (a,b): if a > b: return (a,b) else: return (b,a) print (test(30,20))
Функция получает два аргумента и возвращает последовательность (кортеж), содержащий два значения. Так можно возвращать более одного значения.