Рубрики
Дневник школьного учителя

День 126. Связи

Большинство людей намного сильнее, чем они думают, они просто забывают иногда в это верить.

«Холм одного дерева»

Сегодня с девятыми классами разбирали коллекции данных в Python на примере списков (list) и кортежей (tuple). И… это было странно. Потому что люди так и не поняли, что означает «изменяемый тип» и «неизменяемый тип» и чем они отличаются друг от друга. А ведь всё довольно просто:

На примере списка:
>>> a = [1, 2, 3]
>>> type(a)
<class 'list'>
>>> a[1] = 5
>>> a
[1, 5, 3]
На примере кортежа:
>>> g = (1, 2, 3)
>>> type(g)
<class 'tuple'>
>>> g[1] = 5
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        g[1] = 5
    TypeError: 'tuple' object does not support item assignment

То есть, мы видим, что в списке мы легко можем поменять значение любого элемента, а вот в кортеже — уже нет. Возникает исключение TypeError, которое говорит нам, что «‘tuple’ object does not support item assignment«, то есть «‘кортеж’ объект не поддерживает назначение элемента» (спасибо thecode.media). Это как раз и есть «неизменяемый тип».

Но учеников больше развеселило слово «тип»… И всё! Этим всё сказано.

Photo by James Jeremy Beckers on Unsplash