@rudepython

Страница 1298 из 1719
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
Ахуеть, в единственном нормальном чате по пайтону говорят шо питон не для прода

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

Сравнения стали лучше.
спорно сортировка с None была легитимным юзкейсом

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
None больше или меньше ста?
Легально так сравнивать?

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]

в двойке можно было сортировать такое не ебя себе мозг

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

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

vlade11115
04.01.2019
17:39:42
>>> sorted([3, 2, 1, None]) [None, 1, 2, 3]
>>> None > 1 False >>> None > 0 False >>> None < 0 True >>> None < 1 True >>> None < float('-inf') True Очень очевидное поведение. Особенно последнее сравнение.

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й год того тыщелетия

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

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
хрендж/рендж сделаны классом, и поддерживают итератор протокол, для этого генератор не нужен
2й: range это функция которая возвращает список xrange это класс итерабельный 3й: range это класс итерабельный

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 одновременно, то есть два подхода в этом случае либо оборачивать рендж в лист, когда тебе гарантированно нужен список либо нахуячить трай неймеррор с хрендж=рендж и рендж = лист(хрендж)

в двойке это было эффективным копи()

Zart
04.01.2019
18:05:35
не очень

код который работает под обоими версиями начинает выглядеть как говно

потому что семантика меняется

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

Страница 1298 из 1719