Futorio
А почему у них должен быть одинаковый 'тайп'
Futorio
Первый объект это сама функция, а второй это фьючер от неё
Tishka17
Затем что если захочешь на новый сервер переехать, код будет на том же месте. А не дай бог на два сервера!!!
Pavel
Futorio
А это к чему код?
Anonymous
Как я понимаю, str у аргумента - синтаксический сахар? def testing(name: str)
Futorio
линтеры можно подключать ещё
Anonymous
Union[int, str] А это, какие типы могут быть?
Andrey
Там стоп нигде ниже не перекрывается определением def stop()?
Alex
Tishka17
Alex
тайпхинты могут быть использованы по-разному, в частности для статического анализа да
Alex
@Tishka17 кстати я тут хорошую статейку нагуглил по поводу ковариантов, помнится мы обсуждали когда-то
https://blog.daftcode.pl/covariance-contravariance-and-invariance-the-ultimate-python-guide-8fabc0c24278
Tishka17
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
Почему как-то поразному создаются именованные кортежи?
В первом случаи:
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], во втором нет, даст ошибку
во втором случае какая-то хуйня
Alex
шта?
Alex
namedtuple immutable
Tishka17
ты понимаешь разницу между типом и объектом этого типа?
Oleksii
Парни, почему не рисует ничего?
Alex
namedtuple() - это считай фабрика классов
Александр
Alex
какая конкретно?
pans у тебя это класс, а не объект класса (если выражаться очень простым языком)
Tishka17
и вообще НЕ надо создавать классы в функциях!
Tishka17
ну то есть можно при инициализации и всё
Александр
Alex
ну т.е. вообще херня какая. если ключи статические - их нужно выносить из функции
Alex
Tishka17
Alex
namedtuple() - это и делает
Alex
создает тебе класс с указанными полями
Alex
который ты потом инстанцируешь в непосредственно объекты этого класса ака поименованные кортежи заданной структуры
Alex
вызов telems(*res) создает кортеж, объект класса telems
Alex
который ты создаешь каждый раз заново при вызове функции
Tishka17
ну так ведь я создаю именованный кортеж
ещё раз: есть такая вещь как класс. namedtuple осздает новый класс "именованный кортеж имени Александра" и потом можно уже создавать экземпляры этого класса
Futorio
Ну это как NamedTuple в Typing
Alex
Pavel
Futorio
Alex
typing.NamedTuple в общем-то более наглядный, т.к. умеет работать как базовый класс.
Alex
хотя и умеет вариант вызова аналогично collections.namedtuple()
Александр
Переделал на
Pans = namedtuple('Pans', keys)
...
pans = Pans(name, thickness, ...)
Александр
вот так вроде правильно теперь
Alex
Alex
надеюсь ты вызов namedtuple вынес из функции
Levan (Leo)
Как выйти из tmux так, что-бы все настройки сохранились и после включения компа можно было заново подключится ? )
koder
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
Проксимов
Проксимов
Причём кривой