
Egor
27.07.2018
17:31:25
ок

ivan
27.07.2018
17:32:00

Google

Сергей
27.07.2018
17:32:39

ivan
27.07.2018
17:33:16
Я даже таких слова не знаю.
Он имел в виду либу asyncio и тд
там есть возможность работать как бы типо многопоточно благодаря переключению контекста, но при этом использовать только один поток

Andrew
27.07.2018
17:33:30
Парни, как открыть (прочитать) .py файл что-бы русские буквы отображались как есть на самом деле, а не в бинарном коде (типа "xd0" и т.д.). Использую такой код, что здесь нужно изменить?:
with open('file.py', 'rb') as f:
print(f.read())

Сергей
27.07.2018
17:33:39

Egor
27.07.2018
17:33:57
p = Process(target=f, args=('bob',))
p.start()
p.join()- Это мультипроцессинг?

ivan
27.07.2018
17:34:13

Серж
27.07.2018
17:34:29
У него как раз этой проблемы нет, я так понял он в цикле читает парсит и опять. Пока пакет проц простаивает, отсюда и 10 часов

Egor
27.07.2018
17:34:37
Запарно с threading`а на процессинг переносить?

Сергей
27.07.2018
17:34:49

ivan
27.07.2018
17:35:03

Egor
27.07.2018
17:35:05

Andrew
27.07.2018
17:35:34

Сергей
27.07.2018
17:35:43

Google

Сергей
27.07.2018
17:36:17

ivan
27.07.2018
17:36:56

Andrew
27.07.2018
17:37:03

Сергей
27.07.2018
17:37:44
или у тебя там типа рефакторинг?

Andrew
27.07.2018
17:39:27

Сергей
27.07.2018
17:39:48
ну... ast например
только каменты похерит
зато все по феншую
и генераторы кода из ast есть

Andrew
27.07.2018
17:44:22

Egor
27.07.2018
17:44:29

ivan
27.07.2018
17:45:37
raise ConnectionError

Сергей
27.07.2018
17:45:58

Egor
27.07.2018
17:46:35
Да. Или может меня сервер послал?

ivan
27.07.2018
17:47:05

Egor
27.07.2018
17:47:17
Спасибо

Romuald
27.07.2018
18:15:23

Aragaer
27.07.2018
18:16:55
x & 6 == 4
вот вам еще оптимизация

Google

Aragaer
27.07.2018
18:17:36
any(x & 6 == 4 for x in a) такое попробуйте
а, не, не 6
x & ~1 == 4
вот так правильнее. Хотя .. в птоне есть оператор ~?

Danil
27.07.2018
18:18:32
Нет

Aragaer
27.07.2018
18:19:00
да, есть
>>> a = [2, 3, 4, 5, 6, 7]
>>> [x & ~1 for x in a]
[2, 2, 4, 4, 6, 6]
>>> [x & ~1 == 4 for x in a]
[False, False, True, True, False, False]
еще один вариант >>> [x >> 1 == 2 for x in a]
[False, False, True, True, False, False]

Влад
27.07.2018
18:21:11
Что он значит ?

Tigran
27.07.2018
18:21:14
не как в сях

Aragaer
27.07.2018
18:21:23
чем странный?

Проксимов
27.07.2018
18:21:24
Ну что, рубрика вечерняя оптимизация?

Aragaer
27.07.2018
18:21:34
по-моему точно такой же - побитовое не

Tigran
27.07.2018
18:21:38

Aragaer
27.07.2018
18:21:51
а оно и в си не по модулю 2**32

Tigran
27.07.2018
18:22:03
в си если у тебя число 7, но его НЕ - какое-то здоровенное число, потому что 2**32 - 7
нет?
потому что все биты инвертируются

Google

Aragaer
27.07.2018
18:22:20
оно берет переменную, меняет в ней все биты на противоположные, а потом возвращает тот же тип
в си ты такое получишь если у тебя число беззнаковое

Tigran
27.07.2018
18:22:35
а, да
действительно

Aragaer
27.07.2018
18:22:44
а для знакового ~x это -1 -x
для беззнакового зависит от разрядности тоже. У signed char будет 255-x

Tigran
27.07.2018
18:26:50
ну да. а у питона это всегда столько бит, сколько есть в числе

Aragaer
27.07.2018
18:27:39
на самом деле в си из-за особенностей целочисленного расширения тоже есть фокусы 8)

Admin
ERROR: S client not available

Aragaer
27.07.2018
18:30:18
int main() {
signed char c = 1;
int p = 1;
printf("%x\n", p | ~c);
}
что напечатает?

Tishka17
27.07.2018
18:32:04
0xff?

Aragaer
27.07.2018
18:32:11
ffffffff

Tishka17
27.07.2018
18:32:22
Хм
Окей

Aragaer
27.07.2018
18:32:48
int main() {
signed char c = ~1;
int p = 1;
printf("%x\n", p | c);
}
аналогично
но если поменять на unsigned во втором случае - тогда только ff
а если на unsigned в первом, то все равно ffffffff

Tishka17
27.07.2018
18:33:23
Ага

Google

Tishka17
27.07.2018
18:33:29
Магия преобразования типов
Вот она немного слабая типизация

Aragaer
27.07.2018
18:33:45
целочисленное расширение это та еще засада
не, оно не совсем магия - в стандарте все прописано, тут никаких непредсказуемых результатов быть не должно

Tishka17
27.07.2018
18:34:58
Да. В том числе местами есть неопределенное проведение.

Aragaer
27.07.2018
18:35:14
в случае целочисленного расширения - нет

Tishka17
27.07.2018
18:35:22
Ага

Aragaer
27.07.2018
18:35:39
может быть неопределенное или implementation defined поведение в случае знакового переполнения

Tishka17
27.07.2018
18:35:54
А преобразование знакового в беззнаковое разве определено?

Aragaer
27.07.2018
18:35:55
вот я не помню, undefined или implementation defined (а это разные вещи)

Tishka17
27.07.2018
18:36:16
В случае отрицательных чисел как раз

Aragaer
27.07.2018
18:36:20
преобразование знакового в беззнаковое определено - сохраняются все биты как они есть
unsigned int x = -1; это вполне определенное поведение

Tishka17
27.07.2018
18:36:47
Окей

Aragaer
27.07.2018
18:38:30
там бывает опять же местами неожиданный результат при расширении. У знаковых типов оно с распространением бита знака, а у беззнаковых без

Tishka17
27.07.2018
18:38:53
if the new type is unsigned, the value is converted by repeatedly adding or subtracting one more than the maximum value that can be represented in the new type until the value is in the range of the new type.

Aragaer
27.07.2018
18:39:00
а последняя засада это когда ты думаешь, что тип, с которым ты обращаешься, беззнаковый, а он оказывается знаковый

Tishka17
27.07.2018
18:39:11
Не уверен, что биты всегда сохранятся
Есть же разные cpu

Vovchik
27.07.2018
18:39:34
Приветушки,ребятки☺️

Aragaer
27.07.2018
18:39:46
one more than the maximum value это значит, что например 2**32 для 32 бит