Page 27 - 6734
P. 27
print bin(5) # виклик функції
[1, 0, 1]
Замикання
Замикання (closure) — це функція, яка визначена в тілі іншої
функції і в якій є посилання на змінні, що оголошені зовні [19, 38].
a=0 # глобальна змінна
def func(b): # функція
def fn(c): # внутрішня функція (замикання)
global a # звертання до глобальної змінної
a=1 # зміна значення глобальної змінної
print a,b,c # вивести a,b,c
print 'func'
return fn # повернути функцію
f=func(2) # аргумент b=2, виведе: 'func'
f(3) # аргумент c=3, виведе: 1 2 3
print a # 1 - значення глобальної змінної змінилось
func
1 2 3
1
Обробка виняткових ситуацій
Інструкції try і except дозволяють перехоплювати і
обробляти виняткові ситуації – помилки, що виникають під час
виконання програми [16, 19, 37]. Якщо помилка виникає в блоці
try, то керування передається тому блоку except, який відповідає
типу помилки.
import sys # імпорт модуля sys
for x in -1, 0, "0.2", 1e1000: # повторити наступні
команди для різних значень змінної x
try: # перехоплювати помилки виконання
assert x>=0 # якщо x менше 0, генерувати
26