@@ -136,6 +136,10 @@ msgid ""
136136"catching an exception with a :keyword:`try`...\\ :keyword:`except` statement"
137137" may keep objects alive."
138138msgstr ""
139+ "Заметьте, что использование конкретных средств трассировки или отладки может"
140+ " удерживать объекты живыми, которые в обычных условиях были бы собраны. "
141+ "Также имейте в виду, что перехват исключений в инструкциях "
142+ ":keyword:`try`...\\ :keyword:`except` может удерживать объекты живыми."
139143
140144#: ../../reference/datamodel.rst:83
141145msgid ""
@@ -148,6 +152,13 @@ msgid ""
148152":keyword:`finally` statement and the :keyword:`with` statement provide "
149153"convenient ways to do this."
150154msgstr ""
155+ "Некоторые объекты содержат ссылки на «внешние» ресурсы, такие как открытые "
156+ "файлы или окна. Разумеется, эти ресурсы освобождаются при удалении объекта "
157+ "сборщиком мусора. Но поскольку сборка мусора не гарантируется, такие объекты"
158+ " также предоставляют явный способ освободить внешний ресурс, обычно через "
159+ "метод :meth:`!close`. Настоятельно рекомендуется явно закрывать такие "
160+ "объекты. Инструкции :keyword:`try`...\\ :keyword:`finally` и :keyword:`with`"
161+ " предоставляют удобные способы сделать это."
151162
152163#: ../../reference/datamodel.rst:93
153164msgid ""
@@ -160,6 +171,15 @@ msgid ""
160171"implied. So, if an immutable container (like a tuple) contains a reference "
161172"to a mutable object, its value changes if that mutable object is changed."
162173msgstr ""
174+ "Некоторые объекты содержат ссылки на другие объекты. Они называются "
175+ "*контейнерами*. Примеры контейнеров: кортежи, списки и словари. Эти ссылки "
176+ "являются частью значения контейнера. В большинстве случаев, когда мы говорим"
177+ " о значении контейнера, подразумеваются значения, а не идентификаторы "
178+ "содержащихся объектов. Однако при обсуждении изменяемости контейнера "
179+ "подразумеваются только идентификаторы объектов, непосредственно содержащихся"
180+ " в нём. Таким образом, если неизменяемый контейнер (например, кортеж) "
181+ "содержит ссылку на изменяемый объект, его значение меняется, если изменяется"
182+ " содержимое этого изменяемого объекта."
163183
164184#: ../../reference/datamodel.rst:102
165185msgid ""
@@ -177,6 +197,20 @@ msgid ""
177197"newly created empty lists. (Note that ``e = f = []`` assigns the *same* "
178198"object to both *e* and *f*.)"
179199msgstr ""
200+ "Типы влияют практически на все аспекты поведения объектов. Даже значение "
201+ "идентификатора объекта в некотором смысле зависит от типа: для неизменяемых "
202+ "типов операции, вычисляющие новые значения, могут на самом деле возвращать "
203+ "ссылку на существующий объект с тем же типом и значением, тогда как для "
204+ "изменяемых объектов это не разрешено. Например, после ``a = 1; b = 1``, *a* "
205+ "и *b* могут ссылаться на один и тот же объект со значением один или на "
206+ "разные объекты, в зависимости от реализации. Это происходит потому, что "
207+ ":class:`int` — неизменяемый тип, поэтому ссылка на ``1`` может быть "
208+ "переиспользована. Такое поведение зависит от используемой реализации и не "
209+ "должно восприниматься как гарантированное, но его стоит учитывать при "
210+ "проверках идентичности объектов. Однако после ``c = []; d = []``, *c* и *d* "
211+ "гарантированно ссылаются на два различных, уникальных, заново созданных "
212+ "пустых списка. (Обратите внимание, что ``e = f = []`` присваивает *один и "
213+ "тот же* объект и *e*, и *f*.)"
180214
181215#: ../../reference/datamodel.rst:120
182216msgid "The standard type hierarchy"
0 commit comments