Futorio
А почему у них должен быть одинаковый 'тайп'
Futorio
Первый объект это сама функция, а второй это фьючер от неё
Tishka17
Затем что если захочешь на новый сервер переехать, код будет на том же месте. А не дай бог на два сервера!!!
Pavel
А почему у них должен быть одинаковый 'тайп'
но разве stop не должен быть asyncio.Future()?
Futorio
А это к чему код?
Anonymous
Как я понимаю, str у аргумента - синтаксический сахар? def testing(name: str)
Futorio
линтеры можно подключать ещё
Anonymous
Union[int, str] А это, какие типы могут быть?
Andrey
Там стоп нигде ниже не перекрывается определением def stop()?
Alex
Union[int, str] А это, какие типы могут быть?
int или str или их наследники
Tishka17
Как я понимаю, str у аргумента - синтаксический сахар? def testing(name: str)
А ещё рекомендация для статических анализаторов
Alex
тайпхинты могут быть использованы по-разному, в частности для статического анализа да
Tishka17
Union[int, str] А это, какие типы могут быть?
https://m.habr.com/ru/company/lamoda/blog/432656/
Alex
@Tishka17 кстати я тут хорошую статейку нагуглил по поводу ковариантов, помнится мы обсуждали когда-то https://blog.daftcode.pl/covariance-contravariance-and-invariance-the-ultimate-python-guide-8fabc0c24278
Alex
да это mypy кривой
Александр
Почему как-то поразному создаются именованные кортежи? В первом случаи: telems = bs.telems(idpan) ... def telems(self, UnitPos): sql = "..." keys = ('parentpos', ...) res = self.db.rs(sql)[0] telems = namedtuple('telems', keys) return telems(*res) и print(telems) выводит telems(parentpos=194, topparentpos=193, detailpos=2, commonpos=36, ...) а так же, как и должно быть нельзя изменить telems.parentpos = 2, к примеру во втором keys = ('name', 'thickness'...) pans = namedtuple('pans', keys) pans.name = telems.name pans.thickness = matprop.thickness ... и print(pans) выведет <class '__main__.pans'>, и при этом можно изменить pans.name = "новое" Так же, в первом случаи есть доступ по индексу telems[1], во втором нет, даст ошибку
Tishka17
да это mypy кривой
ну а больше ничего особо нету =(
Alex
шта?
Alex
namedtuple immutable
Tishka17
ты понимаешь разницу между типом и объектом этого типа?
Oleksii
Парни, почему не рисует ничего?
Alex
ты понимаешь разницу между типом и объектом этого типа?
да и вобще да, я не обратил внимания, что он там не инстанс создает
Alex
namedtuple() - это считай фабрика классов
Александр
Alex
какая конкретно?
pans у тебя это класс, а не объект класса (если выражаться очень простым языком)
Tishka17
какая конкретно?
ты зачем-то меняешь класс
Tishka17
и вообще НЕ надо создавать классы в функциях!
Tishka17
ну то есть можно при инициализации и всё
Александр
и вообще НЕ надо создавать классы в функциях!
я не создавал классы в функциях
Alex
ну т.е. вообще херня какая. если ключи статические - их нужно выносить из функции
Tishka17
Alex
namedtuple() - это и делает
Alex
создает тебе класс с указанными полями
Alex
который ты потом инстанцируешь в непосредственно объекты этого класса ака поименованные кортежи заданной структуры
Александр
создает тебе класс с указанными полями
ну так ведь я создаю именованный кортеж
Alex
ну так ведь я создаю именованный кортеж
еще раз.... вызов namedtuple создает класс (в твоем случае telems)
Alex
вызов telems(*res) создает кортеж, объект класса telems
Alex
который ты создаешь каждый раз заново при вызове функции
Alex
ну так ведь я создаю именованный кортеж
еще раз, namedtuple - это фабрика для именованных кортежей, она генерирует класс кортежа с заданной структурой.
Tishka17
ну так ведь я создаю именованный кортеж
ещё раз: есть такая вещь как класс. namedtuple осздает новый класс "именованный кортеж имени Александра" и потом можно уже создавать экземпляры этого класса
Futorio
Ну это как NamedTuple в Typing
Alex
Ну это как NamedTuple в Typing
шта? при чем тут typing?
Futorio
шта? при чем тут typing?
А вы не об этом, сори
Alex
А вы не об этом, сори
ну мы об обычном collections.namedtuple()
Alex
typing.NamedTuple в общем-то более наглядный, т.к. умеет работать как базовый класс.
Alex
хотя и умеет вариант вызова аналогично collections.namedtuple()
Александр
Переделал на Pans = namedtuple('Pans', keys) ... pans = Pans(name, thickness, ...)
Александр
вот так вроде правильно теперь
Alex
надеюсь ты вызов namedtuple вынес из функции
Levan (Leo)
Как выйти из tmux так, что-бы все настройки сохранились и после включения компа можно было заново подключится ? )
koder
Просто отключиться - ctrl b + d
Levan (Leo)
Хотябы окна и раскладку полей ))
koder
Думаю тоже нет
Levan (Leo)
Я так и делаю
koder
Но, наверное, это можно в конфиге прописать
Levan (Leo)
ТОк вот всегда с 0 начинаю (
Alex
можно
koder
Что выполнять при старте
Alex
https://github.com/ansible/galaxy/blob/devel/scripts/docker/dev/tmux.conf
Alex
пример
Levan (Leo)
Оу, спасибо)
Alex
можно без извращений с send-keys запускать
Alex
это сделано для того, чтобы можно было остановить работающее приложение по Ctrl+C и перезапустить в том же окне из истории.
Alex
привет devstack
koder
Ой, чур меня, чур
Anonymous
кто-ниюудб знает, как пройти по такому тэгу
Anonymous
Misha
.//select[@name="massReportListFiltering.regionCode"]
Anonymous
а это селениум
Anonymous
или что?
Anonymous
я просто на бьютифул суп
Misha
это xpath
Проксимов
Проксимов
Причём кривой