Уточнения к объектной модели питона
- контрольная
- орг. вопрос: время занятий
- орг. вопрос: устройство курса, зачётные задания, темы
- операция is
- понятие пространства имён и его соотношение со словарём; vars, dir
пространство имён объекта (__dict__)
- пространство имён функции
- замыкания, глобальные переменные
- пространство имён модуля (глобальное пространство имён)
Контрольная работа
Предисловие: операция is проверяет, являются ли оба её аргумента одним и тем же объектом. Например,
Заполните пустые места в следующих диалогах с питоном:
1 >>> "a" == "a"
2
3 >>> "a" is "a"
4
5 >>> "a" * 10000 == "a" * 10000
6
7 >>> "a" * 10000 is "a" * 10000
8
9 >>> x = "a"
10 >>> y = x
11 >>> x = x + "b"
12 >>> x is y + "b"
13
14 >>> [1] is [1]
15
16 >>> x = [1]
17 >>> y = x
18 >>> x.append(2)
19 >>> x == y
20
21 >>> x is y
22
23 >>> a = A()
24 >>> a.x = 1
25 >>> b = a
26 >>> b.x = 2
27 >>> a is b
PS. На этом примере мы видим, что невероятная ужасня творится в вопросе, являются ли две равные строки одним объектом или разными. Аналогично с кортежами. Отсюда мораль: операция is нужна не для них.