
Марк
07.07.2016
06:09:01
Самая известная в инсте

Темный
07.07.2016
07:45:40
@KennyDT и тут ты

Kill me pls
07.07.2016
08:08:30
Ребят, есть ли какое-то решение, нужно сделать бэкап паблика, но перевести новую группу в закрытую группу?

Roman
07.07.2016
08:10:49
техпод

Google

Roman
07.07.2016
08:11:05
тебе поможет

Kill me pls
07.07.2016
08:11:55
Не поможет
Там с пиратским контентом связано

Roman
07.07.2016
08:13:05
тогда ручками)

Kill me pls
07.07.2016
08:13:27
овер 50 к записей

Ариох
07.07.2016
08:15:09
что нас не убивает делает нас сильнее
и пример этого https://github.com/AceLewis/my_first_calculator.py/blob/master/my_first_calculator.py

mey
07.07.2016
09:26:29

Ruslan
07.07.2016
09:28:40
Приветствую. Гитхаб у всех норм грузит?

dmks
07.07.2016
09:30:52

Zart
07.07.2016
09:31:19

Ruslan
07.07.2016
09:32:53
Чуваки, у меня у одного гитхаб без таблиц стилей грузит?

Johnnie
07.07.2016
09:33:39

Google

JPyFoxy
07.07.2016
09:34:28
Задачка изи:
Шифрование данных . Основные требования к программе:
1) Шифрование и дешифрование данных с возможностью настройки методов шифрования. Общее количество алгоритмов шифрования не менее пяти. Для реализации алгоритмов использовать собственный класс для работы с длинными числами (причем предложить два варианта такого класса в зависимости от выбора способа хранения цифр длинного числа).
2) Стеганографические алгоритмы. Скрытие данных в текстовом файле, скрытие данных в изображениях, скрытие данных в аудиофайлах.
3) Атаки на криптосистемы (в частичной или полной неизвестности).

Марк
07.07.2016
09:34:38
In [1]: x = 100
In [2]: y = 100
In [3]: id(x) == id(y)
Out[3]: True
In [4]: x = 500
In [5]: y = 500
In [6]: id(x) == id(y)
Out[6]: False
Схуяли?

Ruslan
07.07.2016
09:34:54

Zart
07.07.2016
09:35:25

Марк
07.07.2016
09:39:07
оптимизация
а подробнее? Чем 500 не утраивает и один адресс?

Zart
07.07.2016
09:39:56
тем что для 500 создаются новые объекты, поэтому две разных 500 с разными id

Denis
07.07.2016
09:40:07
В PyPy везде True вроде

Sergey
07.07.2016
09:40:13

Zart
07.07.2016
09:40:32
на старте питоне создаются интегер объекты от -10 до 256

Sergey
07.07.2016
09:41:21
Другой вопрос - зачем числа сравнивать как объекты?

Zart
07.07.2016
09:41:25
когда нужны числа в этом диапазоне, то цпитон берет готовые

Марк
07.07.2016
09:41:57
Такс, а после каждый инт имеет свой адресс?

Zart
07.07.2016
09:42:19
это детали реализации

Sergey
07.07.2016
09:42:33
И, если уж на то пошло, есть x is y вместо id(x) == id(y)

Темный
07.07.2016
09:42:36
забавно что об этом ни в одном учебнике не написано
*который я читал

Sergey
07.07.2016
09:42:52

Zart
07.07.2016
09:43:30
потому что на практике это вряд ли всплывёт

Андрей
07.07.2016
09:43:32
еще забавно что если в одной строке писать
x, y = 500, 500
id(x) == id(y)
True

Google

Марк
07.07.2016
09:43:34

Темный
07.07.2016
09:44:47

Zart
07.07.2016
09:44:56
не всплывет

Андрей
07.07.2016
09:45:04
Марк на 2 чата играешь?

Марк
07.07.2016
09:45:31
Вопрос там задан был, а тут я запросил процессорное время Зарта

Темный
07.07.2016
09:46:38
да там сидеть зашквар
тут уютнее

Zart
07.07.2016
09:53:33
https://docs.python.org/2/faq/programming.html#why-does-a-tuple-i-item-raise-an-exception-when-the-addition-works
http://bugs.python.org/issue11562
ну и http://stackoverflow.com/questions/9755990/why-can-tuples-contain-mutable-items до кучи

Sergey
07.07.2016
09:57:46
Вооьще прикольно, конечно. Если TypeError отловить и не знать об этой фиче, можно многое сломать

Zart
07.07.2016
09:58:15
ну так тут идёт присваивание элементу тупла

Zart
07.07.2016
09:58:21
что ты ловить собрался?
>>> a = ([0], 1)
>>> a[0] += [2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> a
([0, 2], 1)
>>> x = a[0]
>>> x += [3]
>>> a
([0, 2, 3], 1)

Sergey
07.07.2016
09:59:40
что ты ловить собрался?
In [1]: a=([1],2)
In [2]: try:
...: a[0]+=[3]
...: except TypeError:
...: pass
...:
In [3]: a
Out[3]: ([1, 3], 2)
?

Zart
07.07.2016
10:00:06
с туплами так не работают обычно

Sergey
07.07.2016
10:00:12
это понятно =)

Zart
07.07.2016
10:00:51
хотя сюрприз здесь скорее в том, что __i*__ методы не просто мутируют элемент, но и повторяют присваивание

Sergey
07.07.2016
10:00:53
в них вообще mutable обычно не кладут

Google

Zart
07.07.2016
10:01:15
в туплы кладут всё
от перемены контента в мутабельном контейнере - референс на него не меняется

Sergey
07.07.2016
10:04:13
спасибо, кэп

Zart
07.07.2016
10:15:43
спасибо, кэп
тогда капитанский вопрос - знаешь как питон отличает списки от диктов при сериализации в пикл?

Sergey
07.07.2016
10:16:32
мне ни разу не приходилось использовать пикл, так что - нет

Zart
07.07.2016
10:17:11
вопрос не совсем в пикле, а в обходе дерева объектов
поменяй пикл на copy.deepcopy

Admin
ERROR: S client not available

Zart
07.07.2016
10:18:13
тот же принт взять
>>> x = {}
>>> x['x'] = x
>>> x
{'x': {...}}

Sergey
07.07.2016
10:23:21
ну ссылки на самого себя там (в deepcopy) отдельно отлавливаются, как я вижу, а в чем вопрос-то?

Zart
07.07.2016
10:24:09
ну чтобы ссылки на самого себя ловить - тебе надо реализовать алгоритм обхода, чтобы отлавливать и кэшировать каждый референс
в общем это такой капитанский вопрос на знание метода __reduce_ex__

Sergey
07.07.2016
10:27:49
в deepcopy для кеширования вообще dict используется
по-моему глупо сравнивать, то что мутабельные классы меняются inplace - азы, а вот знание __reduce_ex__ далеко не каждому нужно

Zart
07.07.2016
10:29:42
то что питон все операции над объектами делает путем выполнения специальных методов - это тоже азы
ну, редьюс довольно редкий из них, да

Sergey
07.07.2016
10:33:40
Что-то по-моему тут разговоров про Python больше, чем в соседнем чатике

Zart
07.07.2016
10:34:12
удивительно

Roman
07.07.2016
10:36:27
всё потому что тут есть zart, а там нет

Zart
07.07.2016
10:36:58
пф

Google

Zart
07.07.2016
10:37:14
ты путаешь причину со следствием

Roman
07.07.2016
11:26:35
3,5,2 питон есть х64? То смотрю установлен 3.5.1 х64 а 3.5.2 х32

Zart
07.07.2016
11:27:58
https://www.python.org/ftp/python/3.5.2/python-3.5.2.exe
https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe

Dmitry
07.07.2016
11:30:25

Zart
07.07.2016
11:30:45
нет, это ipython
ipy - это IronPython
D:\>ipy
IronPython 2.7.5 (2.7.5.0) on .NET 4.0.30319.42000 (32-bit)
Type "help", "copyright", "credits" or "license" for more information.
>>>

Dmitry
07.07.2016
11:32:08

Марк
07.07.2016
12:05:51
Такс, можно еще раз пояснить такую штуку:
a, b = 500 500
имеют один адрес, а
a = 500 b = 500
разные.

Zart
07.07.2016
12:06:30
логично же
потому что в первом случае при компиляции обе константы станут одной

Марк
07.07.2016
12:07:59
Но если инт меньше 255, то разницы не будет. Верно?

Zart
07.07.2016
12:08:14
зачем тебе эта херня?
или ты еще не понял как это работает?

Марк
07.07.2016
12:08:58
Не всё понятно
На начальном этапе у пайтона зарезервировано от -10 до 256 значений инта(верно?). Поэтому если мы указыаем
a = 100
и
b = 100
, то они будут иметь одинаковый адрес в памяти хоть ёбнись башкой об стену. А вот после 300 - нет. Окей. В этом же случае, когда мы пишем
a , b = 100 100
, как ты говоришь, компилятор делает одну переменную. Или уже нет, ибо смысл то?
Там итак id совпадать будут

Sergey
07.07.2016
12:12:56
-5...256, если уж буквоедствовать

Zart
07.07.2016
12:13:00
если тебе интересна такая ерунда - иди читай исходники
Эта группа больше не существует