Найти - Пользователи
Полная версия: дескрипторы и декораторы и мета пробовал а PyCharm не поддается!
Начало » Инструментальные средства разработки » дескрипторы и декораторы и мета пробовал а PyCharm не поддается!
1 2 3 4 5
py.user.next
zavx0z
Книг то как раз прочитал дохрена за пару-тройку лет
Ну, хрен знает, как ты там читал, но вот такие длинные вызовы по всей программе просто её уничтожат. Ты напишешь 10000 строк, а потом это можно будет только выкинуть, а что-то там вырастить в середине программы будет просто невозможно. То, что это в Django так принято, это ещё не значит, что это так и должно быть. Этот парень, который Django делает, сам пишет, что всё время учился и экспериментировал. Что это он не с умным видом подошёл, а что большая часть Django - это результат экспериментов, полученный методом проб и ошибок.

zavx0z
Перевернул я за эту неделю все кишки Pythonа
Надо смотреть на внешнюю сторону, а с внешней стороны он просто гибкий. Ну, да, есть языки и погибче во многом, но питон-то потому и живёт, что на нём можно много что сделать. Когда хочешь что-то сделать, у тебя получается это сделать. Есть-то языки, в которых когда хочется что-то сделать, нихрена не получается (это вот этот Go). И я когда питон выбирал в качестве лёгкой артиллерии в дополнение к C, я его именно по гибкости и выбирал. И ты знаешь, что я скажу, а то, что у меня сейчас основные мои программы все на питоне, я ими проделываю кучу дел, причём годами. Тот же YouTube на питоне сколько просуществовал, а нагрузка и количество всего там ого-го.
4kpt_IV
zavx0z
Доигрался в метапрограммирование до степени изменения мозгов. Python не оправдал моих ожиданий. Я конечно не хочу сказать, что язык хреновый, просто ожидания мои были не подкреплены глубокими знаниями. Перевернул я за эту неделю все кишки Pythonа… попробовал, увидел, понял. Даже рад тому, что пришлось расковырять отрицательные стороны языка, которые не замечал несколькими годами ранее.

Посмеялся. Спасибо.
FishHook
zavx0z
- Автодополнение не заработает в этой модели благодаря документации.
А ты пробовал?
zavx0z
FishHook
А ты пробовал?
Если класс дискриптор может возвращать разные объекты в виде классов со своими дескрипторами. Никак не задокументируешь rtype чтоб автодополнение работало. А в метаклассе, так вообще бесполезная штука документация. В методах от метакласса даже эксепшены не трассируются в консоль, какая там документация, даже дебаггером не воспользоваться в этом методе.
zavx0z
py.user.next
парень, который Django делает, сам пишет, что всё время учился и экспериментировал
Этот парень тоже хрен знает как книги читал, раз экспериментировал? Да и книги разные бывают. Вот пример с преподом в универе, где он начитался и потерялся. https://youtu.be/gMJCt80LLqQ?t=46m47s Если б посмотрел это видео неделей ранее, то остановился бы. Но во всем есть свой плюс. Расковырял Python для себя зато.
FishHook
zavx0z
В методах от метакласса даже эксепшены не трассируются в консоль
Что-то кажется кто-то ерунду говорит. Показывай пример кода.
zavx0z
FishHook
Что-то кажется кто-то ерунду говорит
 from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def web_elem(self):
    if self.class_name is not None:
        elem = WebDriverWait(self.parent_web_elem, 10).until(
            EC.presence_of_element_located((By.CLASS_NAME, self.class_name)))
        return elem
    return "NotWebDriver"
class MetaDriver(type):
    def __new__(mcs, name, bases, attr_dict):
        attr_dict['web_elem'] = property(fget=lambda self: web_elem(self))
        attr_dict['wd'] = None
        attr_dict['parent_web_elem'] = property(fget=lambda self: getattr(self, 'wd'))
        return super().__new__(mcs, name, bases, attr_dict)
class Elem(metaclass=MetaDriver):
    def __init__(self):
        self.class_name = "name_class"
    def __getattr__(self, attr):
        return self.__dict__.get(attr)
el = Elem()
el.web_elem
zavx0z
Вот видео, где должно быть все понятно https://youtu.be/8L6IguhjQ5U
FishHook
То есть мне надо поставить селениум? Досвидания.
zavx0z
FishHook
То есть мне надо поставить селениум? Досвидания.
zavx0z
Вот видео, где должно быть все понятно https://youtu.be/8L6IguhjQ5U
Прогоны через дебаггер. Не нужно прощаться. Хотелось бы услышать Ваше экспертное мнение.
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