Область видимости переменных

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))

Функция получает два аргумента и возвращает последовательность (кортеж), содержащий два значения. Так можно возвращать более одного значения.

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

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