The Python Language Reference / Справочник по языку Python
→For instance bindings, the precedence of descriptor invocation depends on the which descriptor methods are defined. Normally, data descriptors define both __get__() and __set__(), while non-data descriptors have just the __get__() method. Data descriptors always override a redefinition in an instance dictionary. In contrast, non-data descriptors can be overridden by instances.
A descriptor can define any combination of __get__(), __set__() and __delete__(). If it does not define __get__(), then accessing the attribute even on an instance will return the descriptor object itself. If the descriptor defines __set__() and/or __delete__(), it is a data descriptor; if it defines neither, it is a non-data descriptor.
A descriptor can define any combination of __get__(), __set__() and __delete__(). If it does not define __get__(), then accessing the attribute even on an instance will return the descriptor object itself. If the descriptor defines __set__() and/or __delete__(), it is a data descriptor; if it defines neither, it is a non-data descriptor.
0 Например привязки, приоритет описания обращения зависит от того, какие описательские
методы определены. Как правило, описания данных определяют как get__ __ () и __ set__ (), в то время как среди нефактических описаний данных есть только get__ __ () метод. Описания данных всегда отменяют переопределения в словаре экземпляра. И наоборот, нефактические описания данных могут быть переопределены с помощью экземпляров.
Описание может определять любую комбинацию __get__(), __set__() и __delete__(). Если оно не определяет __get__(), то обращение к атрибуту даже на примере вернет описание самого объекта. Если описание определяет __set__() и/или __delete__(), то это описание данных, если оно не определяет ни того, ни другого, то это нефактическое описание.
методы определены. Как правило, описания данных определяют как get__ __ () и __ set__ (), в то время как среди нефактических описаний данных есть только get__ __ () метод. Описания данных всегда отменяют переопределения в словаре экземпляра. И наоборот, нефактические описания данных могут быть переопределены с помощью экземпляров.
Описание может определять любую комбинацию __get__(), __set__() и __delete__(). Если оно не определяет __get__(), то обращение к атрибуту даже на примере вернет описание самого объекта. Если описание определяет __set__() и/или __delete__(), то это описание данных, если оно не определяет ни того, ни другого, то это нефактическое описание.
→Python methods (including staticmethod() and classmethod()) are implemented as non-data descriptors. Accordingly, instances can redefine and override methods. This allows individual instances to acquire behaviors that differ from other instances of the same class.
0 Методы Python (в том числе staticmethod() и classmethod() ) реализованы в виде нефактических описаний. Соответственно, экземпляры могут переопределять и аннулировать методы. Это позволяет отдельным экземплярам приобрести свойства, которые отличаются от свойств других экземпляров того же класса.
→The property() function is implemented as a data descriptor. Accordingly, instances cannot override the behavior of a property.
0 Функция присваивания реализована в виде описания данных. Соответственно, экземпляры не могут переопределять свойства наследования.
→While I am trying to be as precise as possible, I chose to use English rather than formal specifications for everything except syntax and lexical analysis. This should make the document more understandable to the average reader, but will leave room for ambiguities. Consequently, if you were coming from Mars and tried to re-implement Python from this document alone, you might have to guess things and in fact you would probably end up implementing quite a different language. On the other hand, if you are using Python and wonder what the precise rules about a particular area of the language are, you should definitely be able to find them here. If you would like to see a more formal definition of the language, maybe you could volunteer your time — or invent a cloning machine :-).
0 Хотя я постараюсь быть как можно более точен, я решил использовать английский без
специальных терминов для всего, кроме синтаксиса и лексического анализа. Это должно
сделать документ более понятным для рядового читателя, но оставит места для
двусмысленностей. Следовательно, если вы придете с Марса и попытаетесь повторно
реализовать Python из этого документа в одиночку, вам придётся додумывать многое и
фактически вы, вероятно, в конечном итоге реализуете совсем другой язык. С другой
стороны, если вы используете Python и интересуетесь, какие существуют точные правила
в конкретной области языка, вы обязательно сможете найти их здесь. Если вы захотите
видеть более формальное изложение языка, может быть, вам следовало бы не занимать
своё время - или изобрести клонирующую машину :-).
специальных терминов для всего, кроме синтаксиса и лексического анализа. Это должно
сделать документ более понятным для рядового читателя, но оставит места для
двусмысленностей. Следовательно, если вы придете с Марса и попытаетесь повторно
реализовать Python из этого документа в одиночку, вам придётся додумывать многое и
фактически вы, вероятно, в конечном итоге реализуете совсем другой язык. С другой
стороны, если вы используете Python и интересуетесь, какие существуют точные правила
в конкретной области языка, вы обязательно сможете найти их здесь. Если вы захотите
видеть более формальное изложение языка, может быть, вам следовало бы не занимать
своё время - или изобрести клонирующую машину :-).
Резюме
- Пол:
- мужчина
- Родной язык:
- русский
- С нами:
- с 9 сентября 2013 г. (4786 дней)
- Деятельность:
-
294 версии перевода
с общим рейтингом 4
20 комментариев
Карма: 1 (оценок: 1)

