Step 7 (S-97834)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24458/step/7

Step 7 (S-97834) 1.png

[00:00 - 00:14] у объекта в языке python есть значения важно понимать какие значения могут принимать объекты того или иного типа если объект может изменить свое значение в течение жизни мы изменяем объектом или mutable обжиг а если он не может изменить свое значение в течении жизни


[00:14 - 00:30] неизменяем или immutable возможность объекта из местного значения через все зависит лишь от типа объекта необходимо понимать какие типы в языке python являются изменяемыми какие неизменяемыми поэтому давайте заполнить следующую табличку здесь


[00:30 - 00:48] выписывают неизменяемая типа из изменяемой типа начнем конечно же чисел часы с неизменяемыми объектами весь в огне домов пользователя равно 5 б равно 6 а затем это письмо прислали


[00:48 - 01:04] равно оперативной памяти был объект для пятерки была бегаю шестерки сумму ссылалось на объект для суммы то есть на объект для 11 при этом сначала вас на 5 затем воду


[01:04 - 01:21] на 6 человек 11 таким образом в контексте чисел мы можем изменить значения переменной сначала осталось на 5 затем масла с 11 и при этом как бы ну значение переменной а не изменялась


[01:21 - 01:40] но мы ни разу не изменили сам объект то есть у нас молодых пятерки обед шестерки они изменили то чтобы получить сумму мы создали новый объект таким образом осуществляется неизменяем типами все операторы и функции которые работают на числами они не будут с ней самой для качества которые вы мне передали что сегодня быть защищенным новые объекты


[01:40 - 01:57] это верно для всех чисел для целых чисел для вещественных чисел и для комплексных чисел следующий день которые хочется размышлять это логический тип был он также относятся к неизвиняемом типом как мы знаем логический тип языке python имеет всего 2 значения это true и false


Step 7 (S-97834) 2.png

[01:57 - 02:14] интерпретатор этим очень экономно пользоваться тем не в оперативной памяти нашего компьютера когда запущен интерпретатор представлен всего 2 объекта логического типа это тру это фолс поэтому в любой момент времени


[02:14 - 02:32] любой объект логического типа которые у нас используется он всегда согласен 1 из этих 2 и любая перемена логического типа всегда словесной не с 2 объектов если мы хотели проверить что допустимы находите ли число 4 в нашем листе икс


[02:32 - 02:49] а ну как можно править сам или но не находится вот дожила такое выражение всегда будет со всего лишь 1 из 2 объектов такая оптимизация позволяет сохранить в оперативной памяти огромное число логических объектов которые могли бы образованы в процессе исполнения вашего кода


Step 7 (S-97834) 3.png

[02:49 - 03:08] однако такая оптимизация возможна лишь тогда когда был является неизменяем к типам данных представьте себе что вас всего 2 в оперативной памяти и огромное число ваших переменных слать на каждой из них представь что допустим вот 10 переменных свое значение true а если бы оно было изменяемым если бы мы могли значение true на false


[03:08 - 03:23] какой то момент мы это сделали это совсем не дело потому что тогда куча наших логических флажков из них вы свое значение поэтому был является неизменяем типов пришло время отдавать нашу доску и изменяемые типа и 1 конечно же будет список или лист


[03:23 - 03:40] говоря о последовательностях стоит добавить также в неизменяемой кортеж и так что дайте строки как последовательности символов что понять почему список является изменяем типом а кортеж не является нужно понять что же является значением списка


Step 7 (S-97834) 4.png

[03:40 - 03:58] подскажите список допустим 1 2 3 что в этом еще хранится в оперативной памяти у нас есть объекты 1 2 3 есть объект для нашего списка икс


[03:58 - 04:17] значение списка этом упорядоченное множество ссылок на объекты значит нас есть ссылка на с есть ссылка на 2 и у нас есть ссылка на 3 изменяемой списка его большое хочет картавишь заключается в том что можем изменить поставь вместо ссылок вы могли бы написать что нибудь в конец


[04:17 - 04:33] допустим ссылка на четверку написав например x апартамент или могу понять что нибудь местами отсортировать его в каком нибудь в порядке или что нибудь еще


[04:33 - 04:49] с кортежем что такое не сработает картошки если не с непосредственностью и будущие дни с на раз созданным это последовательность ссылок не меняется до конца жизни объекта строки языке python также неизменяемы постоянностью однако вместо списков и кортежам тех имени ссылки на объекты


Step 7 (S-97834) 5.png

[04:49 - 05:09] просто символов юникода с нас не кодировка стоп языке python является и тех 8 так же стоит вспомнить про словари и множество своих конечно же является изменяем типам данных можем изменить значение по ключу можно добавить новую пар ключ значение можем избавиться


[05:09 - 05:24] пар ключ значение для 1 и того же словаря поэтому страх конечно же является изменяем типам данных множество также является изменяем типам данных можно добавлять и убирать новые элементы и все это внутри 1 множества


[05:24 - 05:42] однако стоит держать в голове что множество также есть и неизменяемая версия неизменяемая множество или в рознице немножко подытоживая всегда стоит помнить какие типы данных являются изменяемыми и всегда держать в голове


[05:42 - 06:00] переменных согласен 1 и тот же объект изменяем типа значит что изменение какой либо переменной которая согласен то объект повлечет изменение объекта а как следствие и всех переменных которые не согласен можно представить нашу табличку вспомнить что в изменяемых типов языке python стандартных всего 3 это лист


[06:00 - 06:06] dict и сад нужно быть аккуратнее когда вы пишете код используйте данный типа