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))
Функция получает два аргумента и возвращает последовательность (кортеж), содержащий два значения. Так можно возвращать более одного значения.