
Tishka17
28.06.2019
10:16:45
вынеси их на уровень выше, зачем тебе классы внутри класса?

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
28.06.2019
10:17:06
видать плохой пример

Tishka17
28.06.2019
10:18:47
https://github.com/python-telegram-bot/python-telegram-bot попробуй это в качестве примера

Google

Alex
28.06.2019
11:04:01
SQLAlchemy с asyncio никак нельзя заюзать, да?

koder
28.06.2019
11:05:17
но ООП - нет
точнее не все из именно мапера вообще можно async сделать

Futorio
28.06.2019
11:07:20
суть в общем такая асинхронный драйвер к базе + конструктор запросов алхимии
Если я правильно понял

Alex
28.06.2019
11:09:14

Vladimir
28.06.2019
11:19:59
как в wiresharke отсматривать post запросы отправленные с определенного браузера

Alex
28.06.2019
11:20:52
а зачем ты сразу с нескольких браузеров отправляешь запросы?

Vladimir
28.06.2019
11:21:58
мне просто нужно посмотреть какие я параметры отправляю при регестрации на одном сайте
я еще особо не разобрался в wireshark

Google

Дмитрий
28.06.2019
11:22:53

Vladimir
28.06.2019
11:23:17
а middle man ?
этож вроде так называется

Дмитрий
28.06.2019
11:24:18

Andrew
28.06.2019
11:24:22

Дмитрий
28.06.2019
11:24:24
Но это не слишком законно

Aidar
28.06.2019
11:24:53

Vladimir
28.06.2019
11:38:53
потому что при регистрации весь log network'a в браузере обновляется, соответственно я не могу посмотреть мой запрос

Andrew
28.06.2019
11:39:28

Forevka ÐΞV
28.06.2019
11:39:31

Aidar
28.06.2019
11:39:32

Edgyr Var
28.06.2019
11:59:11
Всем привет, почему этот код не работает [elt for elt in row for row in data], data представляет из себя что то типо [(1, 2), (3, 4)...]

Tishka17
28.06.2019
11:59:55
Местами for поменяй

Edgyr Var
28.06.2019
12:01:11
Уже, спасибо

Егор
28.06.2019
12:04:44
Необходим человек имеющий опыт работы с OpenCV. Есть небольшая работа. Писать лс.

Rusty_b0lt
28.06.2019
12:11:15
почему у них разный тайп
как это возможно

Futorio
28.06.2019
12:12:13
А почему у них должен быть одинаковый 'тайп'

Google

Futorio
28.06.2019
12:12:43
Первый объект это сама функция, а второй это фьючер от неё

Tishka17
28.06.2019
12:12:46
Затем что если захочешь на новый сервер переехать, код будет на том же месте. А не дай бог на два сервера!!!

Rusty_b0lt
28.06.2019
12:15:02

Futorio
28.06.2019
12:16:37
А это к чему код?

AI
28.06.2019
12:24:38
Как я понимаю, str у аргумента - синтаксический сахар? def testing(name: str)

fn main() {}
28.06.2019
12:25:11
тайпхинты
чтобы тебе проще было потом этот код понимать

Futorio
28.06.2019
12:25:28
линтеры можно подключать ещё

AI
28.06.2019
12:29:06
тайпхинты
Union[int, str] А это, какие типы могут быть?

Andrey
28.06.2019
12:30:54
Там стоп нигде ниже не перекрывается определением def stop()?

Alex
28.06.2019
12:31:48

Tishka17
28.06.2019
12:34:10

Alex
28.06.2019
12:34:43
тайпхинты могут быть использованы по-разному, в частности для статического анализа да

Tishka17
28.06.2019
12:34:43

Alex
28.06.2019
12:35:05
@Tishka17 кстати я тут хорошую статейку нагуглил по поводу ковариантов, помнится мы обсуждали когда-то
https://blog.daftcode.pl/covariance-contravariance-and-invariance-the-ultimate-python-guide-8fabc0c24278

Tishka17
28.06.2019
12:35:21

Alex
28.06.2019
12:35:35
да это mypy кривой

Александр
28.06.2019
12:36:48
Почему как-то поразному создаются именованные кортежи?
В первом случаи:
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
28.06.2019
12:37:02
Почему как-то поразному создаются именованные кортежи?
В первом случаи:
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], во втором нет, даст ошибку
во втором случае какая-то хуйня

Google

Alex
28.06.2019
12:37:50
шта?
namedtuple immutable

Tishka17
28.06.2019
12:38:12
ты понимаешь разницу между типом и объектом этого типа?

Alexey
28.06.2019
12:38:23

Alex
28.06.2019
12:38:45
namedtuple() - это считай фабрика классов

Александр
28.06.2019
12:39:36

Alex
28.06.2019
12:40:13
какая конкретно?
pans у тебя это класс, а не объект класса (если выражаться очень простым языком)

Tishka17
28.06.2019
12:40:23
и вообще НЕ надо создавать классы в функциях!
ну то есть можно при инициализации и всё

Александр
28.06.2019
12:41:18

Alex
28.06.2019
12:41:18
ну т.е. вообще херня какая. если ключи статические - их нужно выносить из функции

Tishka17
28.06.2019
12:41:26

Alex
28.06.2019
12:41:32
namedtuple() - это и делает
создает тебе класс с указанными полями
который ты потом инстанцируешь в непосредственно объекты этого класса ака поименованные кортежи заданной структуры

Александр
28.06.2019
12:42:07

Alex
28.06.2019
12:42:28

Google

Alex
28.06.2019
12:42:51
вызов telems(*res) создает кортеж, объект класса telems
который ты создаешь каждый раз заново при вызове функции

Tishka17
28.06.2019
12:45:47
ну так ведь я создаю именованный кортеж
ещё раз: есть такая вещь как класс. namedtuple осздает новый класс "именованный кортеж имени Александра" и потом можно уже создавать экземпляры этого класса

Futorio
28.06.2019
12:46:39
Ну это как NamedTuple в Typing

Alex
28.06.2019
12:46:50

Rusty_b0lt
28.06.2019
12:48:15

Futorio
28.06.2019
12:49:32

Alex
28.06.2019
12:49:45
typing.NamedTuple в общем-то более наглядный, т.к. умеет работать как базовый класс.