
Boris
04.01.2019
17:15:41
прямо как питон 3 который мы не получили

Zart
04.01.2019
17:16:06
няхуй няхуй

Boris
04.01.2019
17:16:17
правда все может поменяться - я же через два дня могу стать раст девелопером

Саша
04.01.2019
17:16:33
Настоящий пигорастер

Google

Веселый
04.01.2019
17:18:42
Ахуеть, в единственном нормальном чате по пайтону говорят шо питон не для прода

Zart
04.01.2019
17:19:11

TpouHuK
04.01.2019
17:25:09

Zart
04.01.2019
17:25:26
получили испорченный второй

TpouHuK
04.01.2019
17:26:00

Веселый
04.01.2019
17:27:01

TpouHuK
04.01.2019
17:27:17
Ради красоты языка сломали обратную совместимость ?
Норм же ?

Boris
04.01.2019
17:29:43

Zart
04.01.2019
17:29:58
юникод где надо и не надо
аргумент анпак убрали
сравнения стали через жопу
ненужные асинкокейворды, которые лишь усложняют язык, но нихуя не решают проблемы
и т.д. и т.п.

vlade11115
04.01.2019
17:32:03
Сравнения стали лучше.

Zart
04.01.2019
17:32:25
угу, поэтому теперь на сравнения уходит в 2-3 раза больше вызовов

vlade11115
04.01.2019
17:33:14
Питон когда либо давал гарантии сколько вызовов будет сравнения делать?

Google

Zart
04.01.2019
17:33:41
https://twitter.com/raymondh/status/1064317983802064896

TpouHuK
04.01.2019
17:35:34

vlade11115
04.01.2019
17:36:40

Zart
04.01.2019
17:37:15
по мне - меньше

Petr
04.01.2019
17:37:16

vlade11115
04.01.2019
17:37:28
Отличный легитимный кейс.

Веселый
04.01.2019
17:37:38

Zart
04.01.2019
17:37:40
либо считать что меньше прочих, либо приравнивать к нулю

vlade11115
04.01.2019
17:37:48

Zart
04.01.2019
17:37:55
Аргумент анпак?
:\>py -2 -c "print((lambda (a, b), (c, d):a+b+c+d)((1, 2), (3, 4)))"
10
D:\>py -3 -c "print((lambda (a, b), (c, d):a+b+c+d)((1, 2), (3, 4)))"
File "<string>", line 1
print((lambda (a, b), (c, d):a+b+c+d)((1, 2), (3, 4)))
^
SyntaxError: invalid syntax
>>> sorted([3, 2, 1, None])
[None, 1, 2, 3]
в двойке можно было сортировать такое не ебя себе мозг

TpouHuK
04.01.2019
17:38:42
:\>py -2 -c "print((lambda (a, b), (c, d):a+b+c+d)((1, 2), (3, 4)))"
10
D:\>py -3 -c "print((lambda (a, b), (c, d):a+b+c+d)((1, 2), (3, 4)))"
File "<string>", line 1
print((lambda (a, b), (c, d):a+b+c+d)((1, 2), (3, 4)))
^
SyntaxError: invalid syntax
а почему это выпилили?

Zart
04.01.2019
17:38:51
и хреновость ваших сраных аннотаций

Саша
04.01.2019
17:39:15
Но ведь нихуя не очевидно, что нан должен быть первым

vlade11115
04.01.2019
17:39:42

Zart
04.01.2019
17:39:45

Google

Саша
04.01.2019
17:40:06

vlade11115
04.01.2019
17:40:21

Zart
04.01.2019
17:40:35
потому что второй питон по факту сравнивает туплы
x.__class__.__name__, x
там сперва сравнение типов идёт

TpouHuK
04.01.2019
17:41:04
>>> a = [int, str, chr, ord, None, -1, 1, 'a', 'z', xrange(10), range(3)]
>>> sorted(a)
[None, -1, 1, <built-in function chr>, <built-in function ord>, [0, 1, 2], 'a', 'z', <type 'str'>, <type 'int'>, xrange(10)]
я бы назвал такое undefined behavior

Zart
04.01.2019
17:43:48
только он дефинед

vlade11115
04.01.2019
17:44:31
If the implementation is hard to explain, it's a bad idea.

TpouHuK
04.01.2019
17:45:13
сортируются по типам, типы по своей длинне?
int > str
>>> True
Они по имени сравниваются?
А что больше, функция или лист? Тип или класс?
?

Саша
04.01.2019
17:45:16
Ну в целом "веса" понятны, кроме инт < стр

Denis
04.01.2019
17:46:32
А если имена классов одинаковые, по метаклассу?

Саша
04.01.2019
17:47:27
Если имена классов одинаковые то какая хуй разница

Zart
04.01.2019
17:50:04
тем временем, в бегиннерсах похоже и не заметили что я съебал 2-3 дня как, бгг

Павел
04.01.2019
17:50:23
заметили

Саша
04.01.2019
17:50:35
заметили

Zart
04.01.2019
17:50:53
чо, праздник охуительных советов?

Павел
04.01.2019
17:51:08
всё так
пичарм говно потому что медленно стартует

vlade11115
04.01.2019
17:51:34
В SQL есть какие нибудь готовые методы чтоб выявить одинаковы данные? Я проебался и записал в базу два раза некоторые данные, которые отличаются регистром

Zart
04.01.2019
17:51:55
надо было учить коллации и уник индексы...

Google

Павел
04.01.2019
17:52:00
В узбекистане школьники все еще на турбо паскалье сидят?♂
а это плохо?
Ага, очень плохо... а вы видели синтаксис ТП??♂ Просто ужас

Саша
04.01.2019
17:52:04
Я все жду, что придет Зарт и порешает. А он не приходит.

vlade11115
04.01.2019
17:52:08
+

Zart
04.01.2019
17:53:06

Павел
04.01.2019
17:53:42
оно есть?

Zart
04.01.2019
17:53:44
это после васика, когда я еще не видел С, и не слышал про парсеры вообще нихуя

Павел
04.01.2019
17:53:46
лол

Zart
04.01.2019
17:54:04
дядя вирт делал строгий язык

Admin
ERROR: S client not available

Zart
04.01.2019
17:54:49
The first compiler for Pascal was operational in early 1970, at which time the language definition also was published [Wirth, 1970]
это сейчас стало нормой для языков такое делать, для всяческих парсеров, хайлайтеров, и прочей срани

Павел
04.01.2019
17:55:25
меня еще не свете небыло

TpouHuK
04.01.2019
17:55:31
что во 2м питоне бесит это range и xrange, в 3м range который генератор, просто и лаконично ?

Zart
04.01.2019
17:55:34
а это вообще 70й год того тыщелетия

Павел
04.01.2019
17:55:49

Zart
04.01.2019
17:55:56

TpouHuK
04.01.2019
17:56:22

Zart
04.01.2019
17:56:29
это итерабл

Google

Zart
04.01.2019
17:56:36
что почему?
генераторы по определению итераблы
обратное неверно
генератор это вполне определенная конструкция в питоне
хрендж/рендж сделаны классом, и поддерживают итератор протокол, для этого генератор не нужен
я кстати не понимаю что им мешало запилить frange или math.range с поддержкой флоатов, как в нумпи

TpouHuK
04.01.2019
17:58:51

Zart
04.01.2019
17:59:01
там код был бы тот же самый, лишь с проверками на расширение точности

TpouHuK
04.01.2019
18:00:50

vlade11115
04.01.2019
18:01:34
цге

Zart
04.01.2019
18:01:51
ну я хз за историю хрендж, потому что очевидно что оригинальный рендж тратил кучу места впустую
я такого определения обратной совместимости еще не видел

TpouHuK
04.01.2019
18:03:39
range бы заменить на xrange и убрать xrange во 2м питоне, и все прочие функции которые должны быть итераблами вместо возвращения листов
(и это то что сделали в 3м питоне, что хорошо, и что не нравится во 2м)

Zart
04.01.2019
18:03:50
если тебе надо писать код для 2 и 3 одновременно, то есть два подхода в этом случае
либо оборачивать рендж в лист, когда тебе гарантированно нужен список
либо нахуячить трай неймеррор с хрендж=рендж и рендж = лист(хрендж)
в двойке это было эффективным копи()

Саша
04.01.2019
18:05:22

Zart
04.01.2019
18:05:35
не очень
код который работает под обоими версиями начинает выглядеть как говно
потому что семантика меняется

TpouHuK
04.01.2019
18:07:11

Zart
04.01.2019
18:07:47
items() у дикта был аналогом copy