13 января 2015 г.

Квалификация имен атрибутов

Здравствуйте посетители и читатели. Перед тем как начну, хочу поздравить всех с наступившим новым 2015 годом и с прошедшими праздниками. Ну и всем удачи и успехов в поисках работы или же просто в работе... так как от нее будет зависеть - то, на сколько Вам сладко придется жить :)

Немного напомню, что в моих постах информации из замечательной книги... Сам я в питоне пока не шарю, так как я веб программист который в основном сталкивается с РНР,НТМЛ и т.д. - но в последнее время ЯваСкрипт начинает нравиться... думаю скоро выложить на своем втором блоге - про рнр информацию о том, на сколько нужно шарить, чтоб пройти хотяб на джуниора и немножко выше, а так же я постараюсь создать блог на yii с небольшим обьяснением. Ну и собственно ссылка на мой второй блог - http://phpekurs.blogspot.com/ надеюсь я не буду затягивать со временем выпуска материалов как это бывает с этим блогом. Ну что ж, теперь приступим к теме....

После  ознакомления  с модулями  мы  должны  поближе  рассмотреть  понятие квалификации имен. В языке Pythonдля доступа к атрибутам любого объекта используется синтаксис квалификации имени object.attribute.



Квалификация имени в действительности является выражением, возвращаю-щим  значение,  присвоенное  имени  атрибута,  ассоциированного  с объектом.

Например,  выражение module2.sys в предыдущем  примере  возвращает  значение атрибута sys в объекте module2. Точно так же, если имеется встроенный объект списка L, выражение L.append вернет метод append, ассоциированный с этим списком.

Итак, какую роль играет квалификация имен атрибутов с точки зрения правил, рассмотренных нами в главе 17? В действительности – никакую: это совер-шенно независимые понятия. Когда вы обращаетесь к именам, квалифицируя их,  вы  явно  указываете  интерпретатору  объект,  атрибут  которого  требуется получить. Правило LEGB применяется только к кратким, неполным именам. Ниже приводятся принятые правила:
Простые переменные
Использование краткой формы имени, например X, означает, что будет про-изведен поиск этого имени в текущих областях видимости (следуя правилу LEGB).

Квалифицированные имена
Имя X.Y означает, что будет произведен поиск имени X в текущих областях
видимости, а затем будет выполнен поиск атрибута Y в объекте X(не в областях видимости).

Квалифицированные пути
Имя X.Y.Z означает, что будет произведен поиск имени в объекте X, а затем
поиск имени Z в объекте X.Y.

Общий случай
Квалификация  имен  применима  ко  всем  объектам,  имеющим  атрибуты:
 модулям, классам, расширениям типов на языке Cи так далее.

На этом данный пост заканчивается...
не забывайте кликать по рекламке, нужны бабосы на пивасик и немного на жизнь)

2 комментария:

  1. Что за бессмысленная перепечатка из сторонних источников? Какая еще глава 17, какие предыдущие примеры?
    >>>возвращаю-щим
    даже не удосужились исправить.

    Нет ссылки на источник - в данном случае банальное воровство материала! Не вы его писали - так не выдавайте за свой!

    ОтветитьУдалить
    Ответы
    1. О перепечатке из учебнеков не раз говорилось ! ...
      на вопрос зачем - отвечу, где потом легче искать, в учебнике или вбить строку в гугле и попасть на свою заметку ?

      Удалить