Область видимості та користувацькі функції

Вступ до функцій у Python

Hugo Bowne-Anderson

Instructor

Експрес-курс з областей у функціях

  • Не всі об'єкти доступні в усіх місцях скрипту

  • Область видимості — частина програми, де об'єкт або ім'я може бути доступним

    • Глобальна область — визначена в основному тілі скрипту

    • Локальна область — визначена всередині функції

    • Вбудована область — імена з попередньо визначеного модуля built-ins

Вступ до функцій у Python

Глобальна vs локальна область (1)

def square(value):
    """Returns the square of a number."""
    new_val = value ** 2
    return new_val

square(3)
9
new_val
<hr />----------------------------------------------------------------
NameError                       Traceback (most recent call last)
<ipython-input-3-3cc6c6de5c5c> in <module>()
<hr />-> 1 new_value
NameError: name 'new_val' is not defined
Вступ до функцій у Python

Глобальна vs локальна область (2)

new_val = 10

def square(value):
    """Returns the square of a number."""
    new_val = value ** 2
    return new_val

square(3)
9
new_val
10
Вступ до функцій у Python

Глобальна vs локальна область (3)

new_val = 10

def square(value):
    """Returns the square of a number."""
    new_value2 = new_val ** 2
    return new_value2

square(3)
100
new_val = 20

square(new_val)
400
Вступ до функцій у Python

Глобальна vs локальна область (4)

new_val = 10

def square(value):
    """Returns the square of a number."""
    global new_val
    new_val = new_val ** 2
    return new_val

square(3)
100
new_val
100
Вступ до функцій у Python

Давайте потренуємось!

Вступ до функцій у Python

Preparing Video For Download...