Найти - Пользователи
Полная версия: дескрипторы и декораторы и мета пробовал а PyCharm не поддается!
Начало » Инструментальные средства разработки » дескрипторы и декораторы и мета пробовал а PyCharm не поддается!
1 2 3 4 5
zavx0z
FishHook
Что-то кажется кто-то ерунду говорит.
Точно ерунда!
Ведь этот кусок кода эксепшн перехватывает. Запара.
     def __getattr__(self, attr):
        return self.__dict__.get(attr)

И брекпоинт в методе заработал.
Спасибо, что направили на истину.
zavx0z
4kpt_IV
Посмеялся. Спасибо.
Получается не за что. Я тоже посмеялся утром. Вчера мир перевернулся, а сегодня посмеялся, потому что получил бесценный опыт и более красочную картину Pythonа
FishHook
zavx0z
Ведь этот кусок кода эксепшн перехватывает.
Этот кусок кода вообще бессмысленен чуть более чем полностью.
__getattr__ вообще не вызовется, если атрибут есть в self.__dict__
Может вам лучше сначала матчасть поучить?
zavx0z
FishHook
Может вам лучше сначала матчасть поучить?
Говорю же запара. Код для примера когда приводил, этот кусок с __getattr__ попал в класс из экспериментального кода (где он был необходим), который вырос в объеме и я не заметил в чем вся соль. С матчастью все хорошо.
4kpt_IV
zavx0z
Вчера мир перевернулся, а сегодня посмеялся, потому что получил бесценный опыт и более красочную картину Pythonа

Давайте проще. Что Вы читали по метаклассам да и вообще по питону. Возникает просто ощущение, что вы полезли в глубокие дебри не зная базы. Это было бы прикольно, но если бы не веселые заявления типа “перекопал все внутренности питона” и т.п. Есть хороший цикл статей Семионато по метаклассам.
zavx0z
4kpt_IV
Что Вы читали по метаклассам да и вообще по питону
4kpt_IV
У меня их в 4 раза больше. Это же не значит, что я их всех прочитал
И при этом при всем вы не знаете зачем нужен __getattr__???
zavx0z
4kpt_IV
И при этом при всем вы не знаете зачем нужен __getattr__???
zavx0z
Говорю же запара. Код для примера когда приводил, этот кусок с __getattr__ попал в класс из экспериментального кода (где он был необходим)
4kpt_IV
У меня их в 4 раза больше. Это же не значит, что я их всех прочитал
а я всю библиотеку и не показывал, только то, что прочитал минимум процентов на 70
4kpt_IV
zavx0z
а я всю библиотеку и не показывал, только то, что прочитал минимум процентов на 70

Вы жжете. Ладно. Удачного дня.
py.user.next
zavx0z
Этот парень тоже хрен знает как книги читал, раз экспериментировал?
Ну, Django стала неповоротливой в плане кардинальных изменений. Одно переписывание со второго питона на третий заняло много времени. Чем гибче программа, тем проще её поменять.

zavx0z
Да и книги разные бывают.
Книги бывают разные, и в том числе и от таких авторов, которые не читали ничего. Чтобы написать книгу, нужно столько-то бабок и мотивация писать её, и больше ничего. Главное - что показывает накопленный опыт в мире программирования. Вот сейчас Go нарушает все правила. Если в питоне, например, придумали делать короткие строки кода, в Go же наоборот их растягивают, как в PHP было. В результате код питона читаемый, а код Go - нет. Когда код в одну строку записан, там негде глазами зацепиться и подумать, в результате всю голову (сознание) надо занимать одной строкой и очень сконцентрированно код читать. Да и просто глаза физически шире движения совершают слева направо (больше работают и, соответственно, устают). Устаёт всё: мозги, глаза, руки от промотки кода. Всё это очень дискомфортно. Но вот они подумали, что так будет хорошо, пренебрегли накопленным в мире опытом. Там очень много таких косяков. Например, тройной цикл писать невозможно и читать невозможно, потому что у него длинные строки на каждом уровне (тебе прямо головую надо поворачивать вправо, потому что одного движения глаз для этого не хватает) и закрывающие скобки скобки скобки занимают полэкрана по вертикали, потому что их даже на одной строке написать нельзя (такие правила языка, типа умность такая). Они же нарушили POSIX, который вырабатывался годами на основе опыта пользователей (аргументы командной строки разбираются с нарушением). В результате они не соблюдают единый стиль UNIX-программ при разборе опций командной строки. Весь мир к нему привык, он удобный и мощный, а они просто взяли и нарушили это. Потом эта монолитность экзешника. Я уже писал сто раз, но напишу ещё раз: почему для маленькой программы, которая делает немного нужных действий, я должен тратить больше мегабайта на бинарник? У меня должен быть выбор: либо я хочу монолитный, либо я хочу написать одну динамическую библиотеку и сто маленьких программок, использующих её, которые все - и библиотека, и программки - весят по 50 килобайт. А они берут и пропихивают эту монолитность тупую как инновацию. И я уже не могу себе сто программок написать, потому что весить они будут 10 гигабайт. Поэтому я беру C или C++ и пишу себе их, посылая этот Go куда подальше. А когда я его посылаю, одним пользователем у него становится меньше и не порекомендую я его никому - считай, ещё человек 10 не придут к нему. Другое дело, если какой-нибудь сисадмин спросит, какой язык выбрать, чтобы сделать такие-то действия, и я ему скажу: “бери питон, не ошибёшься”.

zavx0z
Вот пример с преподом в универе, где он начитался и потерялся.
Его слушаешь, слушаешь и бац, такая маленькая фразочка “та программа на дельфи была” - и всё понятно становится. Ну, не повезло человеку, паскаль формирует определённое мышление, и программисты потом считают себя крутыми, но при этом остаются абсолютно не приспособленными к дикому миру. И всё это по одной простой причине: паскаль думает за них и делает за них. Очень трудно им переходить на C++ потом и вообще даже с доса или с винды очень трудно слазить. Я встречал дельфиста, который не понимал, как signal() в сишнике использовать, хотя дельфист вроде, программы писал, а интеллект нифига не развит, при этом эта функция элементарная, но это только если ты с C начинал или лиспа какого-нибудь.

zavx0z
а я всю библиотеку и не показывал, только то, что прочитал минимум процентов на 70
Ну вот, ещё и книжки краденые. Как ты их так прочитал на 70%, а не знаешь нифига? Да очень просто. На краденом далеко не уедешь. :) И не спорь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB