The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Утверждено добавление в Python операторов для сопоставления с образцом"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Утверждено добавление в Python операторов для сопоставления с образцом"  +/
Сообщение от opennews (?), 09-Фев-21, 21:22 
Руководящий совет проекта Python утвердил добавление в язык операторов для сопоставления с образцом (match и case). Поддержка новых операторов появится в выпуске Python 3.10. Новые операторы "match" и "case" позволят улучшить читаемость кода, упростят сопоставление произвольных Python-объектов и  отладку, а также повысят надёжность кода благодаря возможности расширенной статической проверки типов...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54563

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Онаним (?), 09-Фев-21, 21:22   –7 +/
Только у меня глаза вытекают от этого кода, улучшить читаемость которого уже не поможет ничто? Казалось бы... вообще примитивные конструкции... а нечитабельно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #6, #65, #82, #97

2. Сообщение от Леголасemail (ok), 09-Фев-21, 21:23   +11 +/
без малого эпохальное событие
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

3. Сообщение от Аноним (242), 09-Фев-21, 21:26   +/
Ну в принципе норм, главное же чтоб не свитчи как в си, а нормальные матчи. Ну там чтобы матчить регулярки например. В прошлый раз не взлетело, но с тех пор уже нормально доработали и есть надежда, что в этот раз получится сделать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #220

4. Сообщение от Аноним (4), 09-Фев-21, 21:26   –18 +/
ой, ну хватит ныть, иди пиши на хрусте, ведь он идеален
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #37, #78

5. Сообщение от Аноним (5), 09-Фев-21, 21:27   +8 +/
2021 год все таки. Пора бы. Может к 2030 массивы введут.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #96, #295

6. Сообщение от Аноним (242), 09-Фев-21, 21:28   +5 +/
Это с непривычки наверно, синтаксис очень лаконичный и богатый на возможности, но при этом легкочитаемый. Эти конструкции не так просты и примитивны, как может показаться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #12, #15, #38

8. Сообщение от Котовшив (?), 09-Фев-21, 21:33   +6 +/
Питон это новый C++ в плохом смысле.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #314

9. Сообщение от Аноним (9), 09-Фев-21, 21:37   +2 +/
Это которые from array import array?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #123

10. Сообщение от kai3341 (ok), 09-Фев-21, 21:39   +/
В конечном счёте, из новости не следует, что все if/else нужно срочно заменить на новый-банановый match. С виду match чуток вырвиглазый. Очень хочется надеяться, что match даёт манёвр для оптимизаций
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #296

12. Сообщение от Аноним (12), 09-Фев-21, 21:44   –16 +/
Богатый на возможности ?  В этом цирке пробелов и идиотизма от монтипайтон ? Это говнище со своим особым путем, путем на  . .
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #16

15. Сообщение от Аноним (15), 09-Фев-21, 21:49   –3 +/
> синтаксис очень лаконичный и богатый на возможности

Вот скажи, что это: 401|403|404... Бинарное "или"? Или case? Очень богатый синтаксис! Богатый на баги.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #29, #39, #43, #59, #70, #112

16. Сообщение от Redirect (??), 09-Фев-21, 21:53   +1 +/
Так др*чи на своем любимом C++ в 2-3 раза больше кода и не напрягай людям мозги! А тут все просто и лаконично!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #23, #54

17. Сообщение от Аноним (15), 09-Фев-21, 21:53   +1 +/
> case 401|403|404:

вот за такое надо руки у авторов вырвать... похоже, из ж*пы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #21, #335

18. Сообщение от Redirect (??), 09-Фев-21, 21:56   +5 +/
если честно, я рад! Напрягает часто ветвить if ... elif ... else ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #219

19. Сообщение от Анон1234567890 (?), 09-Фев-21, 21:57   +4 +/
Смотрю на примеры и го мне начинает нравиться всё больше и больше.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30, #228

21. Сообщение от kai3341 (ok), 09-Фев-21, 21:59   –3 +/
> case 401|403|404:

Вот как раз это выглядит как оптимизация

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #44, #223

22. Сообщение от AntonAlekseevichemail (ok), 09-Фев-21, 22:01   –2 +/
УРА! Жду ebuild(ой, в смысле BUILDPKG[Один [корень] сборочный файл пакета]) с этим безобразием!
Ответить | Правка | Наверх | Cообщить модератору

23. Сообщение от Аноним (23), 09-Фев-21, 22:02   –13 +/
Нет, тут какраз таки тупой цирк, жопой в стаканчик. Что подумает нормальный человек увидев "это" ? Оно сгруперовано или не хватает break , почему не switch, и не работает туева хуча гвнокода на фтором петоне. Эти языки особого пути не должны применяться массово. Выпиливайте кто может !
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #34, #53, #68, #110

25. Сообщение от name (??), 09-Фев-21, 22:10   –3 +/
Я скорее на хипстреский Go пересяду, чем читать этот python
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31, #99, #113

26. Сообщение от Аноним (26), 09-Фев-21, 22:10   +12 +/
интересно, а если я перед этим сделаю

from re import match

то никому не поплохеет?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62, #63, #179

28. Сообщение от Аноним (28), 09-Фев-21, 22:25   +1 +/
А запятые в питоне не в моде что ли? Поясните, почему пайп?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33, #35, #41, #72, #80, #320

29. Сообщение от мое правило (?), 09-Фев-21, 22:27   +5 +/
Ну вы задвинули. Это то же самое что и int *i = new int(10); i = i + 1;. Вот что же это такое, что же это может быть... Придирки в стиле "я взял молоток, а он не пилит доску". Просто почитать документацию, и убедится в однозначности кода видимо не судьба.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #58, #111

30. Сообщение от Аноним (30), 09-Фев-21, 22:28   +3 +/
Ну и го отсюда. Новость про Пайтон.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

31. Сообщение от Аноним (31), 09-Фев-21, 22:31   +/
Ознакомьтесь с Ruby перед этим. Чистенький, маленький, эффективный. Ещё и платят много.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #36, #40

32. Сообщение от Zitz (?), 09-Фев-21, 22:31   +/
JavaScript поадекватнее смотрится.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #67, #263

33. Сообщение от Аноним (33), 09-Фев-21, 22:33   +1 +/
Чтобы на bash было похоже конечно же
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

34. Сообщение от Школьник (ok), 09-Фев-21, 22:38   +5 +/
Сейчас 2021ый год на дворе, и паттерн-матчинг есть уже в куче языков (кое в каких - уже не первый десяток лет), в тексте новости даже указано, какие были взяты за образцы при разработке этого в Питоне. Но тем, кому недосуг вылезти за пределы познания, жестко ограниченные Си и плюсами (в лучшем случае старой версией Джавы), - те, конечно, будут дивиться, как бараны на новые ворота, всем этим case без break и switch, и негодовать, как же это кто-то посмел вывести их из зоны комфорта.

ЗЫ Кстати сказать, в тех же Плюсах не каждый case обязан заканчиваться break, и этим иногда пользуются.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #69, #88, #135

35. Сообщение от Аноним (9), 09-Фев-21, 22:39   –1 +/
Потому что с запятыми получится tuple
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #42, #45

36. Сообщение от Аноним (9), 09-Фев-21, 22:39   +1 +/
Ага, все супер, только работы не найти
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

37. Сообщение от Онаним (?), 09-Фев-21, 22:46   +2 +/
Вы предложили мне ещё более замечательное творение, но я бы рекомендовал женить оба этих экземпляра друг на друге.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #46

38. Сообщение от Онаним (?), 09-Фев-21, 22:46   +/
Это да. Один случайно не замеченный пробел открывает целое поле возможностей и вариантов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

39. Сообщение от Онаним (?), 09-Фев-21, 22:47   +5 +/
> Вот скажи, что это: 401|403|404... Бинарное "или"? Или case?

Это гостиница! Двери!


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

40. Сообщение от Онаним (?), 09-Фев-21, 22:51   +15 +/
Чистенький. Маленький. Ненужный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #146

41. Сообщение от Онаним (?), 09-Фев-21, 22:51   +2 +/
Потому что без хорошего раскура пайпа такой синтаксис не лепится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

42. Сообщение от Онаним (?), 09-Фев-21, 22:52   +/
tuple - это нормальное состояние во время разработки данного синтаксиса.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

43. Сообщение от Vkni (ok), 09-Фев-21, 23:07   +3 +/
Ловко подмечено. В Ocaml это

match x with
| 401 | 403 | 404 -> ...
| _ -> ...

То есть, явно | относится к pattern matching.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

44. Сообщение от Аноним (15), 09-Фев-21, 23:10   +3 +/
оптимизация скорости скатывания в г*внокод
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #60

45. Сообщение от Аноним (15), 09-Фев-21, 23:13   +/
ну, с палками же не получается побитовое "или"... почему с запятыми должен получиться тупл?! ты хоть глянь, что в питоне палка означает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #81

46. Сообщение от Dzen Python (ok), 09-Фев-21, 23:17   +/
...изыди, изыди, изыди...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #47

47. Сообщение от Онаним (?), 09-Фев-21, 23:19   +2 +/
> ...изыди, изыди, изыди...

Не изыду.
Сколько   пробелов     в       этом   комментарии?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #50, #160

50. Сообщение от Аноним (-), 09-Фев-21, 23:32   –2 +/
> Сколько   пробелов     в       этом   комментарии?

Опеннетные "знотоки-погромисты-в-нотпаде", как всегда, на высоте ...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #86

51. Сообщение от Плохой Танцор (?), 09-Фев-21, 23:34   +/
Новшества в Питоне всегда понятны и лаконичны, а также ясны в плае их использования, чего нельзя сказать о новшествах в Си++, которые ни понять, ни прочитать, ни применить без примера "того парня со стэковерфлоу" - невозможно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #56, #85, #90

53. Сообщение от SubGun (??), 09-Фев-21, 23:40   +2 +/
Восхвалятели питона, они как сектанты. Ты покусился на святое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #104

54. Сообщение от SubGun (??), 09-Фев-21, 23:42   +1 +/
> А тут все просто и лаконично!

Ну да, куда только другие языки программирования смотрели?! Теперь наверняка обзавидуются.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

55. Сообщение от Аноним (156), 09-Фев-21, 23:44   –1 +/
Б****! Зачем это сопоставление с образцом в питоне? Теперь обезьянки вместо использования хеш-таблиц будут писать завуалированные лестницы из аналогов strcmp.

Чего в питоне реально не хватало - это оптимизированных предрасчитанных замороженных словарей.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #84

56. Сообщение от Аноним (15), 09-Фев-21, 23:46   +/
Расскажи, почему оператор побитового "или" внезапно стал сепаратором?! Почему не запятая?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #66, #116

58. Сообщение от Аноним (15), 09-Фев-21, 23:49   +1 +/
В питонье доке написано, что палка - это оператор побитового или. Дальше сам сможешь понять?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #76

59. Сообщение от YetAnotherOnanym (ok), 09-Фев-21, 23:49   +4 +/
> что это: 401|403|404

Конвейер же!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #120

60. Сообщение от kai3341 (ok), 10-Фев-21, 00:18   –2 +/
Ни логики у вас, ни фантазии. Литерал позволяет собрать возможные варианты в `frozenset` на этапе инициализации программы и проверить вхождение в этот `frozenset` за O(1)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #105, #125, #315

61. Сообщение от nelsonemail (??), 10-Фев-21, 00:21   +/
Прям скриптовый язык "особого назначения" - всё имеется в наличии, но реализовано, мягко говоря, так себе.
Пайтон - это как тюнингованный старый драндулет, батарейки там в комплекте, все дела, но едет всё равно хреново.

> Реализация во многом напоминает оператор "match", предоставляемый в языках Scala, Rust и F#

Scala - это вполне адекватная замена пистона.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #100, #154

62. Сообщение от Аноним (62), 10-Фев-21, 00:43   +1 +/
А вот кстати - да...
Плюсую
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

63. Сообщение от kai3341 (ok), 10-Фев-21, 00:44   +/
блин, и тут до меня дошло, сколько кода сломается)) Добавление async/await в число операторов сломало кучу кода (kombu.async пришлось переименовать, например). Сколько кода сломается тут?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #79

64. Сообщение от qqqqqq (?), 10-Фев-21, 00:48   +/
С одной стороны ну и чем теперь птон не эрланг
С другой да ну нафиг
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #265

65. Сообщение от Anonymousqwe (?), 10-Фев-21, 00:48   –1 +/
И что же вам не нравится в этом коде и что вы предлагаете взамен?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #75, #98, #141

66. Сообщение от Аноним (66), 10-Фев-21, 00:54   +/
https://www.python.org/dev/peps/pep-0635/#or-patterns

There was some discussion on whether to use the bar symbol | or the or keyword to separate alternatives. The OR pattern does not fully fit the existing semantics and usage of either of these two symbols.

И далее по тексту, там всё написано, почему не or или запятая или ещё что-то. Что же тебе помешало это прочитать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #132

67. Сообщение от Аноним (67), 10-Фев-21, 01:12   +4 +/
Хорошая шутка)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #203

68. Сообщение от Аноним (69), 10-Фев-21, 01:16   +/
Ты не одинок. Но от лавины свистоперделок не спастись.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

69. Сообщение от Аноним (69), 10-Фев-21, 01:18   +2 +/
Пользуются, да. Только как правило сами не знают, что пользуются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

70. Сообщение от Аноним (69), 10-Фев-21, 01:30   +3 +/
Вот буквально недавно багу пофиксил где чувак написал if status == 301 or 302:
Так что верной дорогой идут товарищи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #143

71. Сообщение от Аноним (69), 10-Фев-21, 01:36   +/
Короче, вырисовывается перспектива, точнее три:
1. Форкнуть нужный себе питон и пилить в нужную сторону
2. Спрыгнуть с питона. Это май вэй, но мне без следующего пункта ближайший год не обойтись:
3. Продолжать накидывать mvp на питоне, а потом уже переписывать на более стабильных исыках.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #122, #147, #266

72. Сообщение от Zulu (?), 10-Фев-21, 01:42   +/
Видимо чтоб избежать неоднозначностей с
match a,b:
  case 1,2:
    pass
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #130

73. Сообщение от Аноним (-), 10-Фев-21, 01:45   +/
Надеюсь эти операторы реализованы на безопасном write only языке типа раст
Ответить | Правка | Наверх | Cообщить модератору

74. Сообщение от Аноним (74), 10-Фев-21, 01:49   +3 +/
Ещё бы immutable values (как обычная переменная, но присвоить можно только один раз) наконец добавили - цены бы им не было.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #137, #267

75. Сообщение от Аноним (69), 10-Фев-21, 01:51   +1 +/
Ну мне, например, не нравится сам код. Взамен предлагаю оставить все как было. Тем более, что это не прогресс в синтаксисе, это просто чтобы было "как у всех". Где все, а где мы? - очевидно же. Пчела и муха, пролетая над пастбищем видят совершенно разные вещи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

76. Сообщение от Аноним (76), 10-Фев-21, 02:00   +/
> В питонье доке написано, что палка - это оператор побитового или. Дальше сам сможешь понять?

Местные "знатоки", как обычно, не в курсе базовых фич обсуждаемого ЯП.


>>> class myint(int):

        def __or__(self,other): return 42
>>> myint(10)|myint(20)

42


Пример работает во второй и третьей ветке. А называется это "перегрузка операторов".


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #77, #119

77. Сообщение от Аноним (76), 10-Фев-21, 02:02   +/
> Пример работает во второй и третьей ветке. А называется это "перегрузка операторов".

ЗЫ:
ЧСХ, я уже лет 8 с питоном дела не имел, да и до этого "овладел" на уровне "поправить пару проектов".


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

78. Сообщение от псевдонимус (?), 10-Фев-21, 02:17   +1 +/
Сорта.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

79. Сообщение от Аноним (242), 10-Фев-21, 02:19   –3 +/
Нисколько, не выдумывайте. Я могу придумать несколько причин почему: никто не экономит 2-3 символа, import from писать моветон, называть переменные и функции так ещё более моветон -- лучше уж однобуквенные. При этом исправить это не такая уж и проблема.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #114

80. Сообщение от Ordu (ok), 10-Фев-21, 02:24   +/
Пайп логичен. Он читается программистом как "или".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #107, #117

81. Сообщение от Аноним (9), 10-Фев-21, 03:33   –1 +/
И что она там означает?

>>> class myint(int):

        def __or__(self,other): return 42
>>> myint(10)|myint(20)

42

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #128, #131

82. Сообщение от Аноним (-), 10-Фев-21, 03:40   +/
Я думаю, у тебя от любого кода вытекают глаза, и вообще ты не программист, а тролль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #161

83. Сообщение от Аноним (-), 10-Фев-21, 03:44   +/
Python развивается, хейтеры бомбят! Таков путь. ;)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #89, #138

84. Сообщение от Аноним (84), 10-Фев-21, 03:45   +2 +/
Ты лучше за себя думай, а не за обезьянок.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

85. Сообщение от Аноним (85), 10-Фев-21, 03:47   +/
Ты прав, С++ объективно сложнее, и постоянно усложняется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #136

86. Сообщение от Аноним (86), 10-Фев-21, 04:13   –1 +/
Имел я тут с полгода назад дело с знатоком-программистом в современной среде разработки (НЕ на питоне). Поменял в файле десять строк, а коммит выглядел так, словно весь файл заменили другими. Потому что у него, видите ли, среда разработки по умолчанию вместо отступов делает выравнивания. Те, кто пишет "в нотпаде", хотя бы понимают, что они делают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #109, #145, #226

87. Сообщение от Аноним (87), 10-Фев-21, 04:29   +3 +/
Какой-то чемпионат по гонкам на инвалидных колясках.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #102

88. Сообщение от Аноньимъ (ok), 10-Фев-21, 05:05   +1 +/
>Сейчас 2021ый год на дворе, и паттерн-матчинг есть уже в куче языков

Вы наверное не в курсе, но он есть в нормальных языках больше 30 лет.

Тот факт что альтернативно одарённые питонисты немогли его сделать столько времени говорит многое.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #158

89. Сообщение от Аноньимъ (ok), 10-Фев-21, 05:12   +4 +/
It evolving backwards.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #101

90. Сообщение от Аноним (90), 10-Фев-21, 05:18   +2 +/
плюсы не для говнокодеров
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #103, #212

91. Сообщение от Аноним (-), 10-Фев-21, 05:23   –1 +/
За языком не слежу. Слышал..., короче, что там с оператором присаивания := Гвидо его внёс в язык, или нет?

Гвидо молодец понимает, что придуманая == программистами из IBM так и не катит. Впервые == насколько я знаю этот оператор появился в Fortran -е.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #95, #331

92. Сообщение от Аноним (92), 10-Фев-21, 06:58   +2 +/
Для тех, кто не осилил словарь...
🤷🤦
Ответить | Правка | Наверх | Cообщить модератору

93. Сообщение от Аноним (93), 10-Фев-21, 07:12   +1 +/
А это опять угробит совместимость? :) И, главное, синтаксис такой что вы даже после поллитра глядя на код не одуплите - валидное это сочетание или нет.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #126

94. Сообщение от Аноним (95), 10-Фев-21, 07:26   +/
О, наконец-то завезли, а то надоели уже эти скучные if...else...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #124

95. Сообщение от Аноним (95), 10-Фев-21, 07:35   +1 +/
В версии 3.8 появился. Но ёто не то же самое, что ==
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #151

96. Сообщение от Аноним (96), 10-Фев-21, 07:46   +5 +/
А к 2077 нормальную работу с юникодом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

97. Сообщение от Аноним (98), 10-Фев-21, 08:09   +/
В python операторов if elif else вполне хватало.

Если структура данных сложная, то оператор case заменялся мощью питоновского типа словарь (json).

https://www.askpython.com/python/python-switch-case-implemen...

Заметьте, для читаемости и понимаемости кода рекомендуется if else.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

98. Сообщение от Аноним (98), 10-Фев-21, 08:13   +1 +/
Не нравится неудобочитаемость.

Кому не нравится if elif else может использовать тип json.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

99. Сообщение от Аноним (-), 10-Фев-21, 08:25   +/
держи в курсе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

100. Сообщение от Аноним (-), 10-Фев-21, 08:28   –2 +/
> пистона

вставь его себе в анус и делись впечатлениями

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

101. Сообщение от Аноним (-), 10-Фев-21, 08:29   –3 +/
причем тут твои родственники?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #292

102. Сообщение от Аноним (-), 10-Фев-21, 08:31   +3 +/
и так под каждой новостью, это опеннет, детка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

103. Сообщение от Аноним (-), 10-Фев-21, 08:33   –1 +/
даже php не для тебя
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #108

104. Сообщение от Аноним (-), 10-Фев-21, 08:37   –1 +/
хейтеры еще хуже - у них нет аргументации, но они настолько тупы, что уверены, что ее предоставляют
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

105. Сообщение от Аноним (-), 10-Фев-21, 08:42   +/
кому вы объясняете? хейтеры понятия не имеют, что такое frozenset, и для чего он нужен
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

106. Сообщение от Аноним (106), 10-Фев-21, 08:47   +/
А вот это годно. Жаль на питоне не пишу
Ответить | Правка | Наверх | Cообщить модератору

107. Сообщение от n00by (ok), 10-Фев-21, 08:47   +1 +/
Потому программисты и пишут:

match x with
| 401 | 403 | 404 -> ...
| _ -> ...

https://www.opennet.ru/openforum/vsluhforumID3/123233.html#43

Осталось понять, зачем тут case.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

108. Сообщение от Аноним (90), 10-Фев-21, 08:48   +/
ты опять таблетки забыл принять?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

109. Сообщение от Аноньимъ (ok), 10-Фев-21, 08:49   +/
Вы там наверное гит еще и пользуете, специалисты?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

110. Сообщение от Аноньимъ (ok), 10-Фев-21, 08:54   +3 +/
> Что подумает нормальный человек увидев "это" ?

Я честного говоря не уверен, что, кто-то код на питоне всерьез читает или дебажит.
Пишется оно в большинстве одноразово.

>Эти языки особого пути

Усложнение питона всяким замысловатым синтаксисом очень плохая идея.
Как-то противоречит сути скриптового ЯП.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #115, #153

111. Сообщение от Аноньимъ (ok), 10-Фев-21, 09:01   +/
> Ну вы задвинули. Это то же самое что и int *i = new int(10); i = i + 1;
> Вот что же это такое, что же это может быть...

Няшненькая сиплюшечька.

Пришлось немного напрячься чтобы вернуться в те времена когда я ЭТО трогал руками и даже понимал.
Вспомнил, понял, рассмеялся от души.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

112. Сообщение от Аноним (112), 10-Фев-21, 09:16   +/
А что, в ваш колхоз or не завезли?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #121

113. Сообщение от Аноним (112), 10-Фев-21, 09:24   +/
Нет, ты будешь ныть 10 лет сидя у родителей на шее, а потом сбухаешься, как и все кому влом просто взять и подучить что-то прежде чем нести ахинеечку
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #243

114. Сообщение от Аноним (112), 10-Фев-21, 09:25   +/
Нет, всё-таки за однобуквенные нужно сразу руки отрывать, прямо от жопы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #185

115. Сообщение от SinoptikU (?), 10-Фев-21, 09:26   –3 +/
Забавно видеть бредни узколобых!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

116. Сообщение от Аноним (112), 10-Фев-21, 09:27   –1 +/
Расскажи, почему у тебя оператор "или" стал сепаратором, если он всё ещё работает в данном примере как или
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #134

117. Сообщение от Аноним (160), 10-Фев-21, 09:32   +1 +/
Это поколение "программистов" спрашивать не буду. Они в руках словаря не держали, пользовались для перевода интернетом, нужные ассоциации в мозгах не образуются. А ваше мнение мне интересно.

Есть ли у вас ассоциация оператора выбора с выбором в словаре? И есть ли ассоциация возможности реализации выбора с помощью типа данных словарь?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #142

118. Сообщение от еман (?), 10-Фев-21, 09:32   +2 +/
для ещё лучшего улучшения читаемости, лучшие питонисты рекомендуют перейти на C/C++/D/Rust/Go
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #152

119. Сообщение от Аноним (15), 10-Фев-21, 09:34   –1 +/
И что ты за чушь привёл? Где ты "перегрузку" увидел в кейсе?! Какой там тебе оператор?! Скажи, какой результат/тип оператора "палка" в кейсе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #225

120. Сообщение от Аноним (15), 10-Фев-21, 09:35   –2 +/
Конвейер утечки последних мозгов через нижнее отверстие.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

121. Сообщение от Аноним (15), 10-Фев-21, 09:37   +1 +/
Понимаешь... "or" в пихтоне - логический оператор, а "палка" - побитовый.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #322

122. Сообщение от Аноним (160), 10-Фев-21, 09:38   +/
Я себе форкнул, може раза вать вместе. Но проблема вырисовывается: case оператора у нас не предвидится и новый код работать не будет...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

123. Сообщение от Аноним (15), 10-Фев-21, 09:39   +/
Да уж... В расте сделали ещё хлеще - stdin - это внешний скачиваемый модуль с какой-то помойки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #156, #181

124. Сообщение от Аноним (160), 10-Фев-21, 09:42   +/
case -> выбор по ключу -> тип словарь -> json

В твоем мозгу ссоциации операции выбора с поиском перевода слова в словаре нет?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94 Ответы: #182

125. Сообщение от Аноним (15), 10-Фев-21, 09:45   +/
> за O(1)

Всегда знал, что пихтонисты что-то употребляют, если не умеют даже O() считать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

126. Сообщение от Аноним (160), 10-Фев-21, 09:46   +1 +/
Для этого все и делается: гробить совместимость, усложнять и замусоривать синтаксис. Так тормозят и гробят развитие Python!

Николая Вирт учил, что синтаксис языка должен быть простой, в идеале его языки помещались на 1 страницу А4. А эти раздувают синтаксис ненужным и вредным хламом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93 Ответы: #268

127. Сообщение от Аноним (160), 10-Фев-21, 09:49   +/
> для конечного принятия решения в качестве арбитра был привлечён руководящий совет, который сумел прийти к консенсусу.

Эти маркетологи, юристы, манагеры и прочие твари гробят творения людей везде куда дотянутся их руки.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #129, #332

128. Сообщение от Аноним (15), 10-Фев-21, 09:49   +/
Покажи, что там и как перегрузили в case... И не пиши 100 раз одну и ту же чушь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

129. Сообщение от Аноним (160), 10-Фев-21, 09:50   +1 +/
s/руки/лапы/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #127

130. Сообщение от Аноним (15), 10-Фев-21, 09:51   +/
Это <белый лис>, товарищи... Язык (нет, даже не язык уже... что-то непотребное) скатывается в какой-то брейнфак, где без компиляции пары экранов невозможно понять назначение видимого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

131. Сообщение от Сишник (?), 10-Фев-21, 09:53   +1 +/
> И что она там означает?
> __o__

фу такое писать

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #222

132. Сообщение от Аноним (15), 10-Фев-21, 09:54   +1 +/
Ты сам-то читал? В результате дискуссии выбрали тупейший вариант, что не удивительно в современном мире.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #239, #298

133. Сообщение от Некто с Марса и Сникерсаemail (?), 10-Фев-21, 09:54   +/
А это традиционный путь развития python, всегда новые конструкции из других языков включались и ранее, совсместимость это не ломает и не приводит к большим проблемам производительности. Правда python становится уж очень синтаксически сложным языком.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #140

134. Сообщение от Аноним (15), 10-Фев-21, 09:55   +/
Ты хоть в курсе, что такое "перечисление"?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

135. Сообщение от Аноним (-), 10-Фев-21, 09:57   +1 +/
> 21ый год на дворе, и паттерн-матчинг е

тебе про нормальных людей говорят, на пихоне нельзя даже написать программу которая завтра будет работать. у меня ссаный перл спустя 20 лет работает

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #149, #163

136. Сообщение от Аноним (15), 10-Фев-21, 09:58   –1 +/
Растаманы уже закопали сплюснутых :) Все те дифирамбы, что пели сплюснутые про безопасность плюсов, про управляемые типы, про автоматические конструкторы/деструкторы... Всё это оказалось туфтой со слов растаманов. Колесо провернулось, "плюсы" в байках заменили на "раст", снова поём прошлые дифирамбы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #318

137. Сообщение от Аноним (15), 10-Фев-21, 10:02   +/
Лет через 50 сделают, если case рожали 30 лет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

138. Сообщение от Аноним (15), 10-Фев-21, 10:03   –2 +/
> развивается

case рожали 30 лет... Это не развитие, это гниение.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #150, #189, #211

139. Сообщение от economist (?), 10-Фев-21, 10:04   +3 +/
Чтения тутошних обсуждений python-новостей - настоящий праздник!

Такого кол-ва эмоций и разности суждений больше нигде не сыскать. Даже в бреду брендомании (типа яблоко/ведро итп) - их меньше.

Из этого делаю вывод о чертовской притягательности синтаксиса сабжа, его экосистемы и хайповости хайпа вокруг него (и хейтовости тоже).

А по теме - elif ненамного хуже, но если они идут вложенные ёлочкой - читаемость страдает. А она (читаемость) в python не просто во главе угла, она же породила "идеальные" по реализации конструкции списки/срезы/генераторы/лямбды, которых больше нет ни в одном языке.

Писать MVP на сабже и переписывать - тоже годно, но нужно не всем. Есть свои метрики кодинга на сабже - они опережают в 2-4 раза другие ЯП. Ровно столько же и меньше объем кода в символов (за вычетом пробелов, друзья!)  

  

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #144

140. Сообщение от Аноним (15), 10-Фев-21, 10:07   +/
> совсместимость это не ломает

Боюсь тебя расстроить... Но, может, сам догадаешься?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #148

141. Сообщение от Онаним (?), 10-Фев-21, 10:10   +1 +/
> И что же вам не нравится в этом коде и что вы
> предлагаете взамен?

В этом коде мне не нравится весь его синтаксис.
Предлагаю выкинуть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

142. Сообщение от Ordu (ok), 10-Фев-21, 10:12   +/
> Это поколение "программистов" спрашивать не буду.

В смысле тебе поколение хипстеров ближе? Я тоже очень не люблю старпёров, но как говаривал Юдковский: если самый тупой человек на свете говорит, что небо голубое, это не значит, что оно зелёное.

Пайп как "или" используется, как минимум со времён C... Хотя не, в BNF ведь | используется, а это вообще середина XX века ещё. Отказываться от этого я не вижу никакого смысла, это уже будет негативизмом, в смысле позицией "назло мамке в лужу сяду".

> Есть ли у вас ассоциация оператора выбора с выбором в словаре? И
> есть ли ассоциация возможности реализации выбора с помощью типа данных словарь?

Нет и нет. Паттерн-матчинг -- это древняя техника, с которой я например ознакомился где-то в 90-х читая учебник по лиспу (примерно 80-го года издания), где в качестве примера программы реализовывался паттерн матчинг для создания чего-то там. Может быть чат-бота по типу Elisa. Паттерн матчинг несводим к ассоциативному массиву, хотя ассоциативный массив иногда можно использовать для более эффективной реализации. Но это проблемы компилятора, будет ли он использовать ассоциативный массив, просто jmp table, последовательность cmp/je, или что. Хороший компилятор лучше меня должен знать, как данный случай на данной платформе сделать быстрее.

Но дело не в скорости, глянь на примеры в тексте статьи, они немного приоткрывают возможности. Возьми тот пример с функцией whereis, и попробуй переписать это без match, и сравни количество затраченных усилий и читаемость результата.

В целом я рад, что паттерн-матчинг стал must have фичой языков. И дело даже не в том, что когда его нет, а он нужен, начинаешь мухой на стекле выёживаться, лишь бы не писать ad hoc реализацию, а в том, что он реально удобен и может превратить безумное нагромождение if/else в несколько уровней вложенности в няшную и понятную структуру кода, которая хорошо отражает программерскую мысль, и легко при этом компилятором преобразуется в эффективный машинный код.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117 Ответы: #164, #165

143. Сообщение от Клыкастый (ok), 10-Фев-21, 10:14   +/
ох какие уютные грабельки, прямо канонично
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

144. Сообщение от Онаним (?), 10-Фев-21, 10:15   +/
Да, синтаксис сабжа настолько притягателен, что я даже править в этом больше двух строк стремаюсь - проще и быстрее найти альтернативу или самому написать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139 Ответы: #206

145. Сообщение от Онаним (?), 10-Фев-21, 10:16   +/
Не, ну это понятно - если пробелы на табы заменились или назад.
Вот только "не для питона" - это не фатал, а вот коду на пистоне - кирдык.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #166

146. Сообщение от Клыкастый (ok), 10-Фев-21, 10:17   –1 +/
гитлаб. там правда от числа рубиновых пакетов слегка пот прошибает, но это уже мелочи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #159, #244

147. Сообщение от Аноним (156), 10-Фев-21, 10:21   +/
>Продолжать накидывать mvp на питоне, а потом уже переписывать на более стабильных исыках.

Собственно питон так и позиционируют.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

148. Сообщение от Некто с Марса и Сникерсаemail (?), 10-Фев-21, 10:22   +/
Меня трудно расстроить. Под совместимостью обычно понимают возможность исполнения кода, написанного для старых версий в новых версиях интерпретатора. Обеспечить обратный процесс можно, но только путём заморозки развития языка. Или я что-то не так понимаю?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140 Ответы: #168, #202

149. Сообщение от Аноним (149), 10-Фев-21, 10:23   +/
Примерно 20 лет он и не развивается, поэтому и работает. С таким же успехом можешь второй питон зафиксировать и хоть 40 лет использовать в контейнере\на древней системе с древним кодом. А если попробуешь перл5, раку, то внезапно выяснишь что там все еще хуже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #162

150. Сообщение от Аноним (156), 10-Фев-21, 10:23   +/
Switch/case - антипаттерн. Правильное решение для любого языка - look-up-таблица. Хеш, или не хеш, но LUT.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138 Ответы: #204, #329

151. Сообщение от Аноним (156), 10-Фев-21, 10:25   +1 +/
Тем не менее он на хрен не нужен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #173, #186

152. Сообщение от Клыкастый (ok), 10-Фев-21, 10:26   +/
На D к сожалению уже никто не советует переходить. C успел попой стул занять, С++ смог, Rust и Go, как ни крути, осилили. А вот с D не получилось совсем. Вот точно мимо стульев.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118 Ответы: #157

153. Сообщение от Аноним (149), 10-Фев-21, 10:26   +1 +/
> Пишется оно в большинстве одноразово.

Не путайте с js. Код на питоне вполне неплохо читается и дебажится, гораздо лучше чем в других языках.

> Как-то противоречит сути скриптового ЯП.

Сути скриптового ЯП не противоречит, а вот манифесту питона да, но кажется на него еще в 2000х забили.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110 Ответы: #279

154. Сообщение от Аноним (156), 10-Фев-21, 10:27   +/
Нет, graalpython - адекватная замена pystonа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

155. Сообщение от Аноним (155), 10-Фев-21, 10:27   +/
Жаловаться поздно. Где вы были, когда принимали решение?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #167, #177

156. Сообщение от Аноним (156), 10-Фев-21, 10:29   +1 +/
Это они покушать принесли.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

157. Сообщение от еман (?), 10-Фев-21, 10:34   +/
о чём это ты? D живой и ещё как. я, вот, Go бросил и перехожу на D аж бигом и тащу его в ынтирпрайз всеми силами
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152

158. Сообщение от Школьник (ok), 10-Фев-21, 10:35   +/
>>паттерн-матчинг есть уже в куче языков (кое в каких - уже не первый десяток лет)
> Вы наверное не в курсе, но он есть в нормальных языках больше
> 30 лет.

:-O

> Тот факт что альтернативно одарённые питонисты немогли его сделать столько времени говорит
> многое.

У Гвидо на многие вещи был свой сильно особенный взгляд. Сейчас он удалился от дел, возможно, потому дело пошло в гору.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

159. Сообщение от Онаним (?), 10-Фев-21, 10:37   +1 +/
Редмайн ещё.
Я как-то мейнтейнил инсталляцию.
В итоге плюнул и ушёл на жиру.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #146 Ответы: #175

160. Сообщение от Аноним (160), 10-Фев-21, 10:38   –1 +/
У каждого языка свой стиль, Python имеет свои особенности, это очень компактный язык с причесаным ПОНЯТНЫМ, ПРОСТЫМ кодом и развитыми типами.

Ниже приведу 3 примера одного и того же кода:

1. Правильная, очень быстрая, простая и компактная, реализация на языке Python:


HTTP_CODES = {
    400: "Bad request",
    401: "Not allowed",
    403: "Not allowed",
    404: "Not allowed",
    418: "I'm a teapot"
}

# Просто вместо функции выбераем значение с словаря: HTTP_CODES.get(status, "Something else")
print(HTTP_CODES.get(status, "Something else"))

# Функции не надо вызывать, это не правильно и тормозит
def http_error(status):
    return HTTP_CODES.get(status, "Something else")


Кто здесь посмел сказать, что Python тормозной? Меряемся скоростью с asm, C, C++ !

2. Неправильная, медленная и долгая, реализация на языке Python. Рекомендуется для обучения детей:


def http_error(status):
    if status == 400:
        return "Bad request"
    elif status is in  (401, 403, 404):
        return "Not allowed"
    elif status == 418:
        return "I'm a teapot"
    else:
        return "Something else"

3. Предлагаемая, медленная, запутанная и раздутая, реализация на языке Python. Эта реализация коробит простой, понятный язык:


def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 401|403|404:
            return "Not allowed"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something else"

Синтаксис языка очень важен. Ключевым элементом есть операторы ветвления (и цикла). Смени операторы ветвления и получишь совсем другой язык!

Python надо сообществу форкать!!!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #171, #201, #233

161. Сообщение от Онаним (?), 10-Фев-21, 10:39   –1 +/
Инженер, программист и тролль одновременно.
Такие дела.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

162. Сообщение от Аноним (-), 10-Фев-21, 10:48   +/
был бы та программистом - понимал что не в свистоперделках сила скрипты . петонофцы которые это поняли - читают умные книжки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

163. Сообщение от Школьник (ok), 10-Фев-21, 11:00   +/
Я сам на Питоне в основном мелкие утилиты пишу для себя. Был только один раз, когда одна моя более-менее большая программа попала в продакшн (писались как быстрый прототип, но в дело вступили тупоголовые менеджеры, которые не то что развитие продукта, а просто свой поход в туалет для пи-пи-пишных дел не очень-то способны вовремя спланировать). В общем, программа писалась в 2012ом для Питона 3.3, а на текущем 3.9 она по-прежнему работает без единой правки.

Но при переезде с python2 на python3 всякие принцессы на горошине, не могущие 2to3 запустить и разок толковый аудит кода сделать, много себе вырвали волос на голове и не только. И все-таки это уже дело далекого прошлого. Пора бы сходить к психологу, пережить с ним этот травматичный опыт, рассказать о травме на конференции, выслушав "я так горжусь тобой, что ты нашла в себе силы выйти и рассказать нам об этом", написать на эту тему книгу, снять десяток видосиков на ютюбе и стори в инстаграме с хэштегом #metoo, получить ретвит от Залины Маршенкуловой и сотню прочувственных комментариев, и подвести наконец черту над прошлым. Пора, девоньки, пора.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135

164. Сообщение от Аноним (160), 10-Фев-21, 11:08   +/
Вы меня не поняли совсем.

1. Не надо в Python тянуть конструкции с других языков, потому что новый программист не умеет писать код на Python!

2. Я уважаю старшее поколение, которое создало некоторые замечательные языки, Python включительно.

3. Не уважаю хипстерское быдло, которое вместо обучению языку, хочет БЫСТРО навалять быдлокод. Но неможет, ибо не знает особенностей языка! И чтобы это быдло могло навалять свой быдлокод, какой-то там управляющий совет, херит язык. Насмерть херит! Насовсем херит!!!

https://www.opennet.ru/openforum/vsluhforumID3/123233.html#160

Это очень плохо что даже у вас нет ассоциации оператора выбора с типом словарь. У языке python оператор case заменен на поддержку типа словарь. Это только на первый взгляд странно. Замена case на поддержку работы с типом словарь единственно правильный путь: https://www.askpython.com/python/python-switch-case-implemen...
Именно в словаре, по ключевому слову, ищем его перевод или значение - это и есть операция выбора! Поддержка типа json в Python делает оператор case ненужным!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #169

165. Сообщение от Аноним (160), 10-Фев-21, 11:09   +/
PS: передавайте всем лисперам, что их Lisp - говно, как и JIT.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #170

166. Сообщение от Аноним (166), 10-Фев-21, 11:23   +1 +/
Не используй табы в коде на Python вообще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #145 Ответы: #190

167. Сообщение от Аноним (160), 10-Фев-21, 11:29   +/
Да мы на решение этих "советов" ложим, а сами эти "советы" вертим!

Я себе Python уже форкнул.

Призываю всех вменяемых бойкотировать новый синтаксис! Иначе ваши поделки в моем Python-е не пойдут..

Объясняю еще разок что жидо-масоны делают: внедряют в "советы" своих и пару своих в здоровое сообщество. Вносят предложения systemd/case/shit. Агентура в сообществе бунтует и кричит хотим "овно". Здоровая часть говорит "овна" нам не надо. Консенсуса нет. Тогда контролируемый жидо-масонами "совет" принимает решение добавить "овна".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155 Ответы: #176

168. Сообщение от Аноним (160), 10-Фев-21, 11:33   +2 +/
https://www.opennet.ru/openforum/vsluhforumID3/123233.html#164
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148 Ответы: #193

169. Сообщение от Ordu (ok), 10-Фев-21, 11:35   +/
> Это очень плохо что даже у вас нет ассоциации оператора выбора с типом словарь. У языке python оператор case заменен на поддержку типа словарь.

И чё?

Во-первых, какое мне дело, до этих особенностей python'а? Это относится к тем нюансам языка, которые подхватываешь в первые два дня работы с ним, и забываешь через месяц после того, как закончил с ним работать. Python весь состоит из таких нюансов, в том смысле, что в нём нет ничего исконно своего, каких-нибудь интересных фичей, которые полезно помнить всегда, в том числе когда работаешь и с другим языком.

Во-вторых, здесь речь идёт о паттерн-матчинге, а не об операторе выбора. Оператор выбора -- это из языков a la Algol, Pascal, C и тп, и по сути он лишь высокоуровневый способ написать низкоуровневую табличку переходов, откуда по индексу можно извлечь адрес для jmp. Потом, некоторые языки, расширили это до возможности работы с типами навроде строки, для которых jmp table не очень удачна, и начали использовать ассоциативные массивы. python пошёл дальше, и выкинул вообще switch в пользу ассоциативных массивов. Сейчас мы видим, что решение оказалось удачным, потому как когда речь зашла про паттерн-матчинг, не пришлось в язык добавлять match, который очень похож на switch, но возможностей больше. Ортогональность языка соблюдается.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #164 Ответы: #174

170. Сообщение от Ordu (ok), 10-Фев-21, 11:35   +/
Я конечно передам, но, боюсь, им не интересно твоё мнение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #165 Ответы: #172

171. Сообщение от Аноним (171), 10-Фев-21, 11:43   –1 +/
> # Просто вместо функции выбераем значение с словаря: HTTP_CODES.get(status, "Something else")

А потом кто-то спрашивает, почему питонистов не считают за разработчиков.

> Синтаксис языка очень важен. Ключевым элементом есть операторы ветвления (и цикла). Смени операторы ветвления и получишь совсем другой язык!

Именно синтаксис питона и есть главная причина отсуствия в нем высокопроизводительных JIT-компиляторов.

Когда человек должен совать в словарь все что нужно для проверки, потому что if-else у него медленные... чувак тебе бы может быть немного в реальность вернуться и ощутить, что так быть вообще-то не должно.

> Рекомендуется для обучения детей

Тут нужно 18+ пометку делать. Когда "ребёнок" научился запихнуть всё что угодно в словарь на динамически типизированном языке, то нормальный язык ему потом придется не учить, а переучиваться.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #184

172. Сообщение от Аноним (160), 10-Фев-21, 11:47   +/
Мне не интересно их мнение. Передай факт: лисп требует выделение оперативной памяти в режиме WX, а это осень плохо. Именно по этому у меня нет прог на лиспе, а так функциональный язык интересен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #194

173. Сообщение от Аноним (95), 10-Фев-21, 11:52   +/
Если быть честным, таки да, ни разу ещё им не пользовался
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151

174. Сообщение от Аноним (160), 10-Фев-21, 11:57   +/
Операторы match и case для python не нужны и ОЧЕНЬ вредны: https://www.askpython.com/python/python-switch-case-implemen...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #169 Ответы: #192

175. Сообщение от Клыкастый (ok), 10-Фев-21, 12:06   +/
Редмайн да, умудрились сделать веселее, чем жира. Но гитлаб нормально мейнтейнится даже в экзотических по нонешним временам вариантах "из гита на реалке".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159

176. Сообщение от Аноним (176), 10-Фев-21, 12:09   +1 +/
Слишком громкий слог для банального распила. Надо просто не пользоваться подобным г-ном, а наивный молодняк предупреждать что через пару лет все твои мегазнания с кодом превратятся в тыкву и будешь самдурак что не послушал. Мне хватило ровно три раза вляпаться чтоб это понять.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #167 Ответы: #196, #339

177. Сообщение от Аноним (176), 10-Фев-21, 12:11   +1 +/
> Где вы были

учили новый синтаксис от похапе . ничего в голове не осело но вроде бы был горячий чай

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155

178. Сообщение от Аноним (178), 10-Фев-21, 12:12   +/
Пыхтон за разум взялся? Все равно он не сравнится с божественной сишечкой.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #183

179. Сообщение от Аноним (179), 10-Фев-21, 12:21   +1 +/
Единственный годный коммент в обсуждениях. Что с обратной совсемстимостью
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #224

180. Сообщение от ИмяХ (?), 10-Фев-21, 12:22   +/
Наконецто читаемость питона доросла до приемлемого уровня.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #188

181. Сообщение от Аноним (181), 10-Фев-21, 12:27   –1 +/
Не понял? Вот же он в стандартной библиотеке.
https://doc.rust-lang.org/std/io/index.html#standard-input-a...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

182. Сообщение от Аноним (95), 10-Фев-21, 12:27   +/
А как быть, если мне нужна деструктуризация? Твой мозг вообще имеет представление, что это? И если да, то интересно, как будет выглядеть реализация при помощи словарей?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #283

183. Сообщение от Аноним (95), 10-Фев-21, 12:29   +/
Лисп же божественный, писали тут в других тредах, сишечку надо по-другому как-то назвать, или нет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #178 Ответы: #187

184. Сообщение от Аноним (160), 10-Фев-21, 12:31   +/
> А потом кто-то спрашивает, почему питонистов не считают за разработчиков.

Программист на Python в 10 раз эффективнее и производительные чем программист на C.

Сложный проект быстрее сначала написать на Python и потом переписать на C, чем сразу писать на C.

Python изначально проектировался и разрабатывался так, чтобы его мог освоить и использовать не только программист, но и любая домохозяйка. И это не минус, а большой полюс языку и уважение его создателям.

> Именно синтаксис питона и есть главная причина отсуствия в нем высокопроизводительных JIT-компиляторов.

Нет, Python используют люди для которых важна безопасность и корректная работа с памятью. Именно по этому JIT в CPython не будет (исключение PyPy).

> Когда человек должен совать в словарь все что нужно для проверки

Придется мне, человеку, объяснить местным чувакам-дыбилам еще раз: для ветвления и проверок в Python есть конструкция операторов if elif else, а для выбора значения по ключу есть поддержка расширенной работы с типом словарь! https://www.askpython.com/python/python-switch-case-implemen... это особенность языка Python, не баг, не недостаток, а килер фича!!!

> Тут нужно 18+ пометку делать. Когда "ребёнок" научился запихнуть всё что угодно в словарь на динамически типизированном языке, то нормальный язык ему потом придется не учить, а переучиваться.

Python имеет черезвычайно развитую работу со строками и словарями. Для домохозяйки это хорошо. Для программиста это идеально экономит время разработки.

Ребенку надо научится алгоритмов и создания элементарных базовых програм, а не использование высокоуровневых конструкций языка.

На школьной олимпиаде задачи рассчитаны на языки C, Pascal, а цель проверить интеллект ученика. Решение задачи на Python может занимать всего пол строки. Интеллект ребенка, знание алгоритмов, умение создавать алгоритмы программа на Python МОЖЕТ не отображать в полной мере. Использование полной мощи Python это десятикратное технологическое, а не интеллектуальное превосходство над ребенком пишущим на C.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #171 Ответы: #191, #321, #341

185. Сообщение от Аноним (242), 10-Фев-21, 12:35   +/
Хаха, нет. А ты, наверное, из тех, кто верит во всё, что ему рассказывают.

Что касается re.match, то применимость у него весьма ограниченная, куда чаще наверное используют re.search -- так что исправлять много не придётся. Других примеров я не знаю.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

186. Сообщение от Аноним (-), 10-Фев-21, 12:38   +1 +/
Кафедральные пердуны и академики с тобой не согласны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151

187. Сообщение от Аноним (160), 10-Фев-21, 12:42   +/
Лисп красив как язык. Но за работу с памятью, лисп можно назвать говном! Язык C хоть теоретический шанс дает написать программиста программу корректно работающую с памятью. А лисп требует WX как и JIT.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #183 Ответы: #200

188. Сообщение от Аноним (160), 10-Фев-21, 12:43   +4 +/
Наоборот упала: https://www.opennet.ru/openforum/vsluhforumID3/123233.html#160
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #180 Ответы: #199

189. Сообщение от Аноним (160), 10-Фев-21, 12:47   +2 +/
case для Python - ненужное зло!

https://www.opennet.ru/openforum/vsluhforumID3/123233.html#164

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138

190. Сообщение от RomanCh (ok), 10-Фев-21, 12:50   –1 +/
Так лучше:
> Не используй ... Python вообще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #166

191. Сообщение от RomanCh (ok), 10-Фев-21, 12:58   –1 +/
> Программист на Python в 10 раз эффективнее и производительные чем программист на C.

Дражайший, я чуть не захлебнулся в вашем жире.

>  Использование полной мощи Python это десятикратное ...

... перерасходование аппаратных ресурсов и нервов админов у которых отсутствуют человекочитаемые логи, вмсто которых у них есть гигатонны бэктрейсов "ведь в них сразу всё понятно" (по мнению пихон-разработчиков)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184 Ответы: #195

192. Сообщение от Ordu (ok), 10-Фев-21, 12:59   +/
И что? Во-первых, там написано про оператор выбора, а не про паттернг-матчинг, во-вторых: и что?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #174

193. Сообщение от Некто с Марса и Сникерсаemail (?), 10-Фев-21, 13:00   +/
Я эту тему про словари вместо case ещё в со времён 2-го питона регулярно читаю.
Лично мне сase вообще не сдался, но ведь разные люди  регулярно выступают с этой идеей.  Ломает это совместимость-нет. Мешает это использовать словари в качестве переключателя условий - нет.  В чём ваша проблема? Новые фичи совсем не обязательны для написания работающего кода.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #168

194. Сообщение от Ordu (ok), 10-Фев-21, 13:02   +/
> Передай факт: лисп требует выделение оперативной памяти в режиме WX, а это осень плохо.

Что за режим WX? Это как-то связано с wxWidgets?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #172 Ответы: #208

195. Сообщение от Аноним (160), 10-Фев-21, 13:12   +/
Я не говорил что в продакшн Python лучше чем бинарь.

Для написание черновика - Python идеален. Прототип можно использовать в реальном бою. Тормознутость Python это миф. В некоторых ситуациях код может получится быстрее С++. В целом может быть медленнее ~1.5 раза, но не 10 раз, как некоторые утверждают. CPython это код на C, а тормоза в логике программы.

Переписывать с Python на C надо по причине безопасности. Держать в системе скриптовый язык с ворохом скриптов не есть хорошо. Хотя за не имением финансирования, проект может годами работать и развиватся на Python.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #191 Ответы: #197, #198, #232

196. Сообщение от Аноним (242), 10-Фев-21, 13:13   +2 +/
Хм, странно. Мои знания по питону 2.2 без проблем позволяют мне писать код для 3.8+. Минимум затрат и я считаю, что все изменения к лучшему -- всё меньше возни и всё больше всего встраивают непосредственно в язык. Если ты так и не освоил ничего ни разу, то естественно, тебе покажется что тебя заваливают всё новым и новым мусором, когда на деле это не мусор, а средства упрощения жизни реальных программистов (причём, только наиболее востребованные и максимально прилизанные).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #176 Ответы: #210

197. Сообщение от Аноним (160), 10-Фев-21, 13:15   +/
Переписывать на C стоит только идеальные проекты не требующие доработок!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #195

198. Сообщение от RomanCh (ok), 10-Фев-21, 13:17   +/
> Для написание черновика - Python идеален.

Ну да, а потом этот "черновик" быренько идёт в прод.

> Прототип можно использовать в реальном бою.

Да так он там и остаётся.

> Тормознутость Python это миф.

Ясно. Спасибо за ваше авторитетное мнение :))


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #195 Ответы: #205

199. Сообщение от Некто с Марса и Сникерсаemail (?), 10-Фев-21, 13:21   +1 +/
У меня есть формулировка, которая вас примирит.
Читабельность Питона доросла до непристойно приличного уровня.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #188 Ответы: #213, #248

200. Сообщение от Аноним (-), 10-Фев-21, 13:45   +1 +/
> Лисп красив как язык. Но

Это между какими кавычками ты там увидел красоты ? Прикол всех этих лиспов в простоте реализации, ты напиши сначала свой лисп и свой си и подумай почему си запарился делать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #187 Ответы: #325

201. Сообщение от Онаним (?), 10-Фев-21, 14:09   +/
У меня даже в данном примитиве вытекают глаза от:
- значимых пробелов
- HTTP_CODES.get(...), неужели нельзя было сделать что-то типа HTTP_CODES[...]
- двоеточий в условиях
- is in
- 401|403|404
- case _: - это вообще ужас какой-то, неужели нельзя было default:
И это ведь на самом-самом примитиве.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #207

202. Сообщение от Аноним (15), 10-Фев-21, 14:16   +/
Я тебя даже немного натолкну на мысль: появляются новые ключевые слова...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148

203. Сообщение от йо ж (?), 10-Фев-21, 14:21   –2 +/
да уже почти не шутка :/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #230

204. Сообщение от Аноним (15), 10-Фев-21, 14:22   +1 +/
LUT слишком сложен для школьников, они понятия не имеют о безболезненном редактировании. Для начала хотя бы задумались, почему у них появилась портянка кейса в коде? Почему в портянке появились какие-то константы?! Два самых главных вопроса: "почему тут?" и "почему это?". Но у школьников нет ответа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #150

205. Сообщение от Аноним (205), 10-Фев-21, 14:41   +/
Меряемся у кого быстрее, вызываем 5 раз операцию выбора:

Код компелять CPython-3, запускать *.pyc


from datetime import datetime
begin=datetime.utcnow()
HTTP_CODES = {
    400: "Bad request",
    401: "Not allowed",
    403: "Not allowed",
    404: "Not allowed",
    418: "I'm a teapot"
}
for status in [400, 401, 403, 404, 418]:
    print(HTTP_CODES.get(status, "Something else"))
dt = datetime.utcnow() - begin
print(dt.time())

В PyPy может быть еще быстрее, но там JIT и его не рекомендую.

Жду оптимизированные простыни на asm, C, C++ и замеры скорости.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #198 Ответы: #209, #307

206. Сообщение от economist (?), 10-Фев-21, 14:47   +/
В красоте однострочников посоревнуемся? 1-строчник - чтобы нивелировать разницу в ЯП. Начну:

Задание1: x = ' 123 БОЛЬШИЕ_м4ал5ен6ькие78 9' # -> '123456789'

На Python: print(''.join(i for i in x if i.isdigit()))  

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144 Ответы: #215, #245

207. Сообщение от Аноним (205), 10-Фев-21, 14:48   +/
Где значимые пробелы?

HTTP_CODES={400:"Bad request",401:"Not allowed",403:"Not allowed",404:"Not allowed",418:"I'm a teapot"};status=400;print(HTTP_CODES.get(status,"Something else"))

Однострочник на питоне без пробелов!

Пробелы делают код красивим и удобочитаемым!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #201 Ответы: #247

208. Сообщение от PnD (??), 10-Фев-21, 14:50   +/
(Голосом старого глухого мафиози из "Пса-призрака"):
— Он сказал W^X ("write xor execute").
Ну то есть вообще-то ровно наоборот. Но не ровно, потому что отрицание не превратит XOR в конъюнкцию. (Выдохнул)

Короче, оно хочет и писа́ть и исполнять в одном месте, а "правильный" софт так хотеть не должен. (Но где ж ты такой софт возьмёшь.)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #194 Ответы: #229

209. Сообщение от RomanCh (ok), 10-Фев-21, 14:51   –1 +/
> Меряемся у кого ...

Ну, нормальные посоны всегда найдут чем померяться, это да.

> Жду оптимизированные простыни на asm, C, C++ и замеры скорости.

Синтетические примеры предлагаю отправлять в спортлото.

Как на практике работают пихон-приложения известно всем кто с ними работал больше чем на localhost, хотя и на localhost они жрут немерянно ресурсов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #205 Ответы: #227

210. Сообщение от Аноним (210), 10-Фев-21, 15:03   –3 +/
ыкспертное мнение от научился петону 3.8+ , приходи лет через цать и повтори мне это же
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #196 Ответы: #214

211. Сообщение от Аноним (-), 10-Фев-21, 15:08   –1 +/
Пока у тебя там подгнивает, я зарабатываю 200к в месяц на питоне, не напрягаясь)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138 Ответы: #217, #330

212. Сообщение от Аноним (-), 10-Фев-21, 15:10   –1 +/
кодить или шкодить? выбирай!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

213. Сообщение от Аноним (15), 10-Фев-21, 15:14   +/
> доросла

стоит заметить, что здесь - не обязательно вверх, а может и вниз... Корни, например, растут вниз.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #199 Ответы: #246

214. Сообщение от Аноним (242), 10-Фев-21, 15:17   +1 +/
> ыкспертное мнение от научился петону 3.8+ , приходи лет через цать и
> повтори мне это же

Некоторые изменения были между 1 и 2, но это простите 20 лет назад было. И если вы не застали реалии программирования в 80-90х, я имею сообщить, что по сегодняшним стандартам качества тогдашняя индустрия была абсолютным дном. При переходе на 3 могут быть неожиданности, только если ты не успел разобраться с тем, что и почему поменяли во 2. И если бы не поменяли, питон сегодня не оказался бы на своём месте. А 3 уже дольше 2 существует. Вот в 4 обещают многое сломать, но я думаю особых проблем тоже не вызовет. За 20 лет может многое поменяться, главное не стоять на месте.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #210 Ответы: #216

215. Сообщение от Аноним (15), 10-Фев-21, 15:22   +1 +/
Тебе Перл показать или так поймёшь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #206 Ответы: #218

216. Сообщение от Аноним (242), 10-Фев-21, 15:24   +/
Дольше чем 1 и 2. Скоро уже будет дольше чем вместе взятые. За всё это время всего пару раз насыпали новых ключевых слов и сломали совместимость где-то там с чем-то там. Уж с чем-чем, а с совместимостью у питона сегодня всё превосходно (несмотря на безосновательные наговоры завистников, совершенно не разбирающихся в вопросе).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #214 Ответы: #344

217. Сообщение от Аноним (15), 10-Фев-21, 15:27   +/
Охотно верю. А я вчера 4 битка продал не напрягаясь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #211

218. Сообщение от economist (?), 10-Фев-21, 15:31   –1 +/
Покажи. Мы ведь оцениваем красоту, а не краткость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #215 Ответы: #251

219. Сообщение от Аноним (15), 10-Фев-21, 15:32   +5 +/
> Напрягает часто ветвить if ... elif ... else ..

Одни спагетти заменены на другие... раньше ифы ветвил, сейчас мачокейсы будешь. Кода меньше не стало, всё те же условия и действия, только сейчас ключевых слов на порядок больше стало.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #236

220. Сообщение от Аноним (15), 10-Фев-21, 15:33   +1 +/
Ещё через 30 лет догонят Перл... возможно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #221, #262

221. Сообщение от Аноним (242), 10-Фев-21, 15:36   +/
Так это ж тот язык который остался в 90х. Нет, спасибо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #220 Ответы: #235

222. Сообщение от Аноним (15), 10-Фев-21, 15:40   +/
это подчёркивает смысл языка. Вообще пихтонисты ___любят___ _писать_ __много__ ___подчёркиваний___, чтобы без линейки не прочитать код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131 Ответы: #231, #234, #326, #334

223. Сообщение от www2 (??), 10-Фев-21, 15:45   +2 +/
Это выглядит как говно. В try-except тоже можно перехватывать несколько исключений в одном except, но там для этого используют нормальную запятую, а не вертикальную палку, которая у меня лично ассоциируется с битовым ИЛИ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #240, #241

224. Сообщение от www2 (??), 10-Фев-21, 15:47   +/
Мне кажется, или это изменение тянет на то, чтобы стать поводом создать четвёртный питон?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #179 Ответы: #293

225. Сообщение от Аноним (-), 10-Фев-21, 15:48   +/
>>> В питонье доке написано, что палка - это оператор побитового или
>> пример перегрузки оператора, меняющий значение с "побитового или"
> И что ты за чушь привёл? Где ты "перегрузку" увидел в кейсе?!

Интересно, это такая попытка спрыга или очередное опеннетное "Папа, где море?"(с)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119

226. Сообщение от Аноним (-), 10-Фев-21, 15:59   +/
> Имел я тут с полгода назад дело с знатоком-программистом в современной среде
> разработки (НЕ на питоне). Поменял в файле десять строк, а коммит
> выглядел так, словно весь файл заменили другими. Потому что у него,
> видите ли, среда разработки по умолчанию вместо отступов делает выравнивания. > Те, кто пишет "в нотпаде", хотя бы понимают, что они делают.

Пробелы внутри строки не считаются, о великий знаток.
"Современная среда разработки", самостоятельно выравнивающая код на off-side-rule ЯП (и этим меняющая логику поведения) - это вообще за гранью натягивания за уши совы на глобус. Потому что даже geany умеет в python-mode.

А так все хорошо, да.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

227. Сообщение от Аноним (227), 10-Фев-21, 16:08   +2 +/
Фу какие поцики на опеннетах пошли, уже ссут даже на своих быстрых asm, C, C++ померятся скоростью с "тормозным" Python! Я детишек с rust даже не зову, они еще скорость не отростили.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #209

228. Сообщение от Брат Анон (ok), 10-Фев-21, 16:12   –1 +/
Тебе только он начинает нравится?!))) Ну ты медленный))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

229. Сообщение от Ordu (ok), 10-Фев-21, 16:13   +/
> Короче, оно хочет и писа́ть и исполнять в одном месте, а "правильный"
> софт так хотеть не должен. (Но где ж ты такой софт
> возьмёшь.)

Глупости. Lisp'у WX не поможет. Lisp не различает данные и код на гораздо более глубоком уровне, чем это делает фон Нейман. Это основная фишка языка.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #208 Ответы: #327

230. Сообщение от Брат Анон (ok), 10-Фев-21, 16:13   +/
Это всегда будет шуткой
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #203 Ответы: #237

231. Сообщение от Аноним (242), 10-Фев-21, 16:15   +/
Это приватные методы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222 Ответы: #282

232. Сообщение от SinoptikU (?), 10-Фев-21, 16:22   +/
Можно с PyInstaller или cxFreeze самодостаточное исполняемое приложение сделать. .
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #195

233. Сообщение от SinoptikU (?), 10-Фев-21, 16:28   +/
>HTTP_CODES = {

    400: "Bad request",
    401: "Not allowed",
    403: "Not allowed",
    404: "Not allowed",
    418: "I'm a teapot"
}

Меня всегда такое раздражало, когда такое объявляешь на уровне модуля в проекте на 100 тыс. строк, а потом в других модулях, которые импортируют этот словарь, можно с легкостю глобально изменить его содержимое.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #242

234. Сообщение от Аноним (-), 10-Фев-21, 16:54   +/
> это подчёркивает смысл языка. Вообще пихтонисты ___любят___ _писать_ __много__ ___подчёркиваний___, чтобы без линейки не прочитать код.

#define __alias(symbol)                 __attribute__((__alias__(#symbol)))
...
# define __compiletime_error(message) __attribute__((error(message)))
..
struct uhid_create2_req {
    __u8 name[128];
    __u8 phys[64];
    __u8 uniq[64];
    __u16 rd_size;
    __u16 bus;
    __u32 vendor;
    __u32 product;
    __u32 version;
    __u32 country;
    __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE];
} __attribute__((__packed__));

Ох уж эти опеннетные "списалисты" по всему на свете ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222 Ответы: #284

235. Сообщение от йо ж (?), 10-Фев-21, 16:58   +2 +/
в 90ых осталось чьё-то iq.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #221 Ответы: #238

236. Сообщение от Аноним (242), 10-Фев-21, 16:59   +/
Я так понимаю, теперь будет нормальное сравнение, потому что is это не ==, и раньше многие сравнения было просто не сделать чисто.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #219

237. Сообщение от йо ж (?), 10-Фев-21, 17:01   +/
"борьба была ровна". до сих пор. но змий, кажется, таки начинает побеждать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #230

238. Сообщение от Аноним (242), 10-Фев-21, 17:03   +/
Iq любителей перла? Не знаю, их тоже можно понять. Он вполне плавает ещё до сих пор (хотя именно что плавает, а не плывёт).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #235 Ответы: #316

239. Сообщение от йо ж (?), 10-Фев-21, 17:03   +1 +/
диктатора на них нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #328

240. Сообщение от Аноним (242), 10-Фев-21, 17:09   –2 +/
Там смысл совершенно иной: ты матчишь кортеж из объектов исключений (и присваиваешь им новые имена в локальном скопе).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #223 Ответы: #277

241. Сообщение от Аноним (242), 10-Фев-21, 17:12   –2 +/
И кстати, если ты не знал, то палка ещё и оператор объединения словарей и сетов. Оператор может делать что угодно с объектами, ты же не ноешь по поводу перегрузки операторов в плюсах?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #223 Ответы: #278

242. Сообщение от Аноним (242), 10-Фев-21, 17:27   +1 +/
Пусть импортируют копию (copy.deepcopy()) и изменяют только своей инстанс.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #233

243. Сообщение от Аноним (244), 10-Фев-21, 18:15   +/
Больное дете, у тебя что-то прям до хрустящей корочки....
я работаю большую компанию где (почти) весь код на C/C++, кроме нескольких проектов которые перелётном к нам в отдел после реорга написаных на python. Язык то я знаю, и по надобности пишу, но читать код написанный другими на нем тяжелее чем на многих других языках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

244. Сообщение от Аноним (244), 10-Фев-21, 18:39   +/
GitHub вроде тоже на ruby написан был долгое время
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #146

245. Сообщение от Аноним (245), 10-Фев-21, 19:01   +/
> В красоте однострочников посоревнуемся? 1-строчник - чтобы нивелировать разницу в ЯП. Начну:
> Задание1: x = ' 123 БОЛЬШИЕ_м4ал5ен6ькие78 9' # -> '123456789'
> На Python: print(''.join(i for i in x if i.isdigit()))


?- X=" 123 БОЛЬШИЕ_м4ал5ен6ькие78 9",
findall(D,(member(D,X),char_type(D,digit)),Ds), format('~s',[Ds]).                                                                        
123456789

?- X=" 123 БОЛЬШИЕ_м4ал5ен6ькие78 9",
include([In]>>char_type(In, digit), X, Ds), format('~s',[Ds]).
123456789


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #206 Ответы: #253, #254, #264

246. Сообщение от Аноним (9), 10-Фев-21, 19:17   +1 +/
Корни показывают отрицательный рост
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #213 Ответы: #249

247. Сообщение от Онаним (?), 10-Фев-21, 19:30   –1 +/
Покажи однострочник с условием, которое при выполнении условия выполняет более одной команды.

if (something) { doSomething; doSomethingElse; }

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #207 Ответы: #256

248. Сообщение от Онаним (?), 10-Фев-21, 19:52   +1 +/
> У меня есть формулировка, которая вас примирит.
> Читабельность Питона доросла до непристойно приличного уровня.

Непристойность питона доросла до читабельно приличного уровня.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #199 Ответы: #250

249. Сообщение от Аноним (15), 10-Фев-21, 19:56   +/
Отрицательную проекцию вектора роста на вертикаль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #246

250. Сообщение от Аноним (15), 10-Фев-21, 19:58   +/
Обросший питон непристоен приличной читабельности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #248

251. Сообщение от Аноним (15), 10-Фев-21, 20:02   +/
"однострочник" - это понятие красоты или краткости?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #218

253. Сообщение от Аноним (15), 10-Фев-21, 20:06   +1 +/
Это явно красивее, чем блевотина экономиста. Тут хоть суть подчёркивается задачи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #245 Ответы: #255

254. Сообщение от economist (?), 10-Фев-21, 20:23   +/
Если мы не выводим результат print(), то на Python еще короче и читаемей:

''.join(i for i in x if i.isdigit())


''.join(filter(str.isdigit, x))


map(int, re.findall('\d+', x))


''.join(i for i in x if i.isdigit())


''.join(filter(lambda d: x.isdigit(x)


re.sub('\D', '', x)


re.findall('\d+', x)


7 сравнительно разаных способов, и это в языке, Дзен которого вещает про один и только один лучший способ. Богатство конструкций языка лично меня впечатляет. Было б здорово чтобы и другие высказались :-)  


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #245 Ответы: #261

255. Сообщение от economist (?), 10-Фев-21, 20:24   –1 +/
Хамите...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #253 Ответы: #273

256. Сообщение от др. Аноним (?), 10-Фев-21, 20:35   +1 +/
> Покажи однострочник с условием, которое при выполнении условия выполняет более одной команды.
> if (something) { doSomething; doSomethingElse; }

Не пались так сильно, "Знаток":

>>> if(True): x=100500;x+=1;print(x)

...
100501
>>> if(False): x=100500;x+=1;print(x)

...


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #247 Ответы: #257, #258

257. Сообщение от Онаним (?), 10-Фев-21, 20:49   –1 +/
Окей. Усложняем задачу.
if (conditionOne) { doOne; if (conditionTwo) { doTwo; doThree; }; doFour; } else { doFive };
---
Жду эксепшна "Error 418 I'm a teapot"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #256 Ответы: #259

258. Сообщение от Онаним (?), 10-Фев-21, 20:52   –1 +/
Или чуть даже попроще

if (conditionOne) { for (a = 0; a < 10; a++) if (conditionTwo) doTwo; } else { doThree; }

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #256

259. Сообщение от др. Аноним (?), 10-Фев-21, 21:30   +1 +/
> Окей. Усложняем задачу.

"Сел в лужу - сделай вид, что принимаешь грязевую ванну"(с)
Не, в эти глупые игры играйте сами.
> if (conditionOne) { doOne; if (conditionTwo) { doTwo; doThree; }; doFour; }
> else { doFive };
> ---
> Жду эксепшна "Error 418 I'm a teapot"

А я жду, для начала, обоснования в практической нужности написания этого овнокода.
Нет, копрофилия за обоснование не катит.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #257 Ответы: #269

260. Сообщение от Аноним (260), 10-Фев-21, 22:20   +1 +/
> case _:

Ого, какой синтаксис. Это же имя переменной, да? Вместо того чтобы переопределить старый добрый (не знаю как в питоне, а так-то он вполне добр) switch решили замусорить глобальную область видимости очередными кейвордами. Удовольствие на это смотреть - как на сисярп примерно.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #270, #275

261. Сообщение от Аноним (261), 10-Фев-21, 22:21   +1 +/
> 7 сравнительно разаных способов,

И со сравнительно разным результатом ;)
>>> re.sub('\D', '', x)

'123456789'
> map(int, re.findall('\d+', x))
>>> [x for x in map(int, re.findall('\d+', x))]

[123, 4, 5, 6, 78, 9]

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #254 Ответы: #274

262. Сообщение от Аноним (262), 10-Фев-21, 22:28   +1 +/
Свою влажные мечты можно тут не озвучивать. Что вообще ты деальешь в этой новости? Заняься нечем? Ах да на перле же только старый софт нужно поддерживать. Лучше, конечно, форум почитать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #220 Ответы: #276

263. Сообщение от Аноним (262), 10-Фев-21, 22:31   +/
В нем пропозал сопоставлния с образцом все еще в stage 1.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #294

264. Сообщение от Аноним (-), 10-Фев-21, 22:32   +/
> ?- X=" 123 БОЛЬШИЕ_м4ал5ен6ькие78 9",
> findall(D,(member(D,X),char_type(D,digit)),Ds), format('~s',[Ds]).
> 123456789


?- X=" 123 БОЛЬШИЕ_м4ал5ен6ькие78 9",
forall((member(D,X), is_digit(D)), format('~c',[D])).
123456789


> ?- X=" 123 БОЛЬШИЕ_м4ал5ен6ькие78 9",
> include([In]>>char_type(In, digit), X, Ds), format('~s',[Ds]).
> 123456789


include(is_digit, X, Ds), format('~s',[Ds]).

С "грязной побочкой":

member(D,X), is_digit(D), format('~c',D), fail.
123456789

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #245

265. Сообщение от Аноним (262), 10-Фев-21, 22:36   +/
> С одной стороны ну и чем теперь птон не эрланг

После добавления оператора сопоставления с образцом язык превращается, язык превращается, превращается в эрланг?. На самом деле нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

266. Сообщение от Аноним (262), 10-Фев-21, 22:37   –1 +/
Белка истеричка? Не нравится оператор - не используй. Настрой линтер в проекте у себя если надо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #291

267. Сообщение от Аноним (262), 10-Фев-21, 22:39   +/
Не все так просто: возникает immutable переменная на mutable объект. Короче все сложно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

268. Сообщение от Аноним (262), 10-Фев-21, 22:41   +/
> Николая Вирт учил

Где он теперь и его поделия?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #272, #323

269. Сообщение от Онаним (?), 10-Фев-21, 22:48   –1 +/
>> Жду эксепшна "Error 418 I'm a teapot"
> А я жду, для начала, обоснования в практической нужности написания этого овнокода.

А вот и эксепшн собственно прилетел.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #259 Ответы: #286

270. Сообщение от Онаним (?), 10-Фев-21, 22:51   +1 +/
_: в данном выражении - это смайл.
На бок прилёг.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #260 Ответы: #271

271. Сообщение от Аноним (15), 10-Фев-21, 23:09   +/
И язык на полу - символ пихтона.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #270

272. Сообщение от Аноним84701 (ok), 10-Фев-21, 23:10   +/
> Где он теперь

Как минимум, вот тут:
https://amturing.acm.org/byyear.cfm
> CHRONOLOGICAL LISTING OF A.M. TURING AWARD WINNERS

Еще там Дийкстру, Кнута, Ричи & Томпсона найти можно.

А вот анонима там что-то не видать, увы и ах :(

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #268 Ответы: #337

273. Сообщение от Аноним (15), 10-Фев-21, 23:11   +/
Поплачь - легче станет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #255

274. Сообщение от Аноним (15), 10-Фев-21, 23:15   +/
> И со сравнительно разным результатом ;)

Вот так экономисты и пишут... туфту. Зато гонору...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #261 Ответы: #309

275. Сообщение от Аноним (275), 10-Фев-21, 23:36   +1 +/
Заодно поломают существующий код в котором применялся gettext. Там _() - это функция для перевода строки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #260 Ответы: #297

276. Сообщение от Аноним (15), 10-Фев-21, 23:54   –3 +/
Рефакторну мысль с учётом твоих пожеланий: даже через 30 лет не догонит Перла.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #262 Ответы: #310

277. Сообщение от Аноним (15), 10-Фев-21, 23:58   –2 +/
> ты матчишь кортеж из объектов

Поздравляю! Ты прочитал именно то, что делает case.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #240 Ответы: #280

278. Сообщение от Аноним (15), 11-Фев-21, 00:00   –2 +/
> палка ещё и оператор объединения словарей и сетов

Но здесь нет ни сетов, ни словарей... Одни числа. А для чисел палка - битовое ИЛИ.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #241 Ответы: #281, #287

279. Сообщение от Аноньимъ (ok), 11-Фев-21, 00:12   +/
Ну, лучше чем в других языках я сомневаюсь.

Жс, если используется по прямому назначению, без монcтроузных фреймворков и прочих попыток натянуть сову на глобус, неплохо читается и отлаживается, как и любой скриптовый язык в контексте скриптового языка.

Питон в узких применения, вроде научных расчетов, неплохо читается, да, ну так там и код то весь это умножение матриц и рисование графиков...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #153

280. Сообщение от Аноним (242), 11-Фев-21, 00:18   –1 +/
Ты хочешь сказать там a,b,c == 1,2,3 as x,y,z and x is True and y is True and z is True and match1() or a,b,c == 4,5,6 as x,y,z and x is True and y is True and z is True and match2() or a,b,c == 7,8,9 as x,y,z and x is True and y is True and z is True and match3() or nomatch()? Ну в любом случае так менее удобно писать было бы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #277

281. Сообщение от Аноним (242), 11-Фев-21, 00:20   –1 +/
Нет. Числа могут быть и не встроенные.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #278 Ответы: #288

282. Сообщение от Аноним (15), 11-Фев-21, 00:30   +/
Конечно приватные, без цензуры такое вообще нельзя показывать: __o__
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #231

283. Сообщение от Аноним (283), 11-Фев-21, 00:30   +/
a = {
    1: ("b", "c"),
}

d, e = a[1]

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #182 Ответы: #285, #299

284. Сообщение от Аноним (15), 11-Фев-21, 00:33   –1 +/
> "списалисты"

Ты же поди в курсе, что значит "питон" в название питона? Списалисты списали много у кого и пихтнули в пихтон.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #234 Ответы: #290

285. Сообщение от Аноним (15), 11-Фев-21, 00:42   +/
Нууу... Это слишком просто! Тут даже ключевых слов нету! :)))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #283 Ответы: #300

286. Сообщение от др. Аноним (?), 11-Фев-21, 01:07   +2 +/
>>> Жду эксепшна "Error 418 I'm a teapot"
>> А я жду, для начала, обоснования в практической нужности написания этого овнокода.
> А вот и эксепшн собственно прилетел.

Рад, что Знатокам в луж^W ванну что-то там прилетело, а то у меня для них опять плохие новости:

> if (conditionOne) { doOne; if (conditionTwo) { doTwo; doThree; }; doFour; } else { doFive };


>>> cond1,cond2 = True,True; cond1 and (print(1), ( cond2 and (print(2),print(3)) ), print(4)) or print(5)

1
2
3
4
>>> cond1,cond2 = False,True; cond1 and (print(1), ( cond2 and (print(2),print(3)) ), print(4)) or print(5)

5
>>> cond1,cond2 = True,False; cond1 and (print(1), ( cond2 and (print(2),print(3)) ), print(4)) or print(5)1

4

Ну а теперь-то будет внятный, без юлежа, ответ:
где такие овно-строчники нужны реально и применяются на практике (и применители не вылетают пинком под зад)?

Или опять "Нет, это тоже не считается!!! Усложняем задачу - сделай вот так-то, но на фонарном столбу и в противогазе!"?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #269 Ответы: #302, #304

287. Сообщение от Аноним (287), 11-Фев-21, 01:25   +1 +/
>> палка ещё и оператор объединения словарей и сетов
> Но здесь нет ни сетов, ни словарей... Одни числа. А для чисел палка - битовое ИЛИ.

Одна жопа. Форумные воители совсем необучаемые стали?


>>> class int(int):

...     def __or__(self,other): return 42
...
>>> int(1) | 2; 2 | int(3)

42
3
>>> type(1),type(int(1))

(<class 'int'>, <class '__main__.int'>)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #278 Ответы: #289

288. Сообщение от Аноним (15), 11-Фев-21, 01:26   –1 +/
Дак где ты там сеты и словари нашёл?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #281

289. Сообщение от Аноним (15), 11-Фев-21, 01:27   –2 +/
Покажи, как перегружена палка в кейсе?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #287

290. Сообщение от Аноним (-), 11-Фев-21, 01:30   +/
>> "списалисты"
> Ты же поди в курсе, что значит "питон" в название питона? Списалисты
> списали много у кого и пихтнули в пихтон.

Как ты ловко, прям в прыжке, переобулся!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #284

291. Сообщение от Аноним (15), 11-Фев-21, 01:31   +/
> Не нравится оператор - не используй.

Если б он не занимал места в пространстве имён...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #266

292. Сообщение от _smit_ (?), 11-Фев-21, 02:08   +/
А Ваши как видны!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

293. Сообщение от Аноним (293), 11-Фев-21, 03:23   +/
Четвертый питон уже в планах там будет JIT и async/await на чистом C
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #224 Ответы: #308

294. Сообщение от Аноним (293), 11-Фев-21, 03:24   –1 +/
Алло докомпозиция уже давно с 12 версии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #263 Ответы: #317

295. Сообщение от all_glory_to_the_hypnotoad (ok), 11-Фев-21, 04:07   +/
О константах и нормальных enum-ах, видимо, мечтать даже не стоит. Вместо будет тормозное гогно как в новости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

296. Сообщение от all_glory_to_the_hypnotoad (ok), 11-Фев-21, 04:08   –1 +/
> Очень хочется надеяться, что match даёт манёвр для оптимизаций

С чего бы это, этот match не только вырвиглазный, но и ещё в большей степени тормозной чем тупой if

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

297. Сообщение от Аноним (66), 11-Фев-21, 06:01   –1 +/
Если вы _: от _() не отличаете это ещё не значит что все парсеры такие.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #275 Ответы: #305, #306

298. Сообщение от Аноним (66), 11-Фев-21, 06:07   +/
Ну ты так считаешь, а другие люди по другому. С чего ты взял что ты прав?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

299. Сообщение от Аноним (95), 11-Фев-21, 08:55   +/
Ну нет, это совсем не то. Предположим, у меня есть кортеж t = (a, b, c) и переменная r = 0, и мне нужна примерно следующая логика: если a == 0, то r = b + c; если b == 0, то r = a - c, если c == 0, то r = b * c, во всех остальных случаях r = a % b * c. Интересно мнение экспертов о том, как запихнуть её в словарь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #283

300. Сообщение от Аноним (95), 11-Фев-21, 08:55   +/
И не говори, а вот так ещё проще:

d, e = "b", "c"

Зачем здесь словарь вобще...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #285

301. Сообщение от mos87 (ok), 11-Фев-21, 09:12   +1 +/
Ну и чем это лучше Перл
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #303, #340

302. Сообщение от Онаним (?), 11-Фев-21, 09:13   +/
Не, всё нормально.
Вижу, что через задницу можно, спасибо за то, что таки потратили 5 минут написать.

Читабельность конечно как у питона.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #286

303. Сообщение от Аноним (15), 11-Фев-21, 09:50   +/
Причём перл - красивее и давным-давно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #301 Ответы: #311

304. Сообщение от Онаним (?), 11-Фев-21, 09:53   +/
Ну вот самый простой пример - динамический вызов с блокировкой:

if (is_callable($action)) { $this->lock(...); if (!(($action)(...))) { $this->fault(...); }; $this->unlock(...); }

Нет смысла это делить на несколько строк.
Выносить в отдельный метод тоже смысла нет - action, lock, fault, unlock - токены, которые меняются постоянно, от раза к разу.
Были бы макросы - удобно бы зафигачилось на макросах, но это пых, а не плюсы :(

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #286

305. Сообщение от Онаним (?), 11-Фев-21, 10:03   +1 +/
_() - прилегший на бок циклоп
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #297

306. Сообщение от Аноним (15), 11-Фев-21, 10:04   +1 +/
> _: от _()

Если ты сам думать не умеешь, помогу:

def f():
  return 0
f=1
print(f())

Ну что, догадался? И ещё немного на засыпку:

def if():
ой, SyntaxError какой-то...

if=1
блин, опять почему-то SyntaxError

Понимаешь, что означает введение новых слов?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #297

307. Сообщение от Ароним (?), 11-Фев-21, 10:06   +/
Компелять лучше python3 с опциями "-OO" и запускать *.pyo
pyo оптимизирован, а pyc не оптимизирован.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #205

308. Сообщение от Ароним (?), 11-Фев-21, 10:21   +/
JIT - зло которое надо искоренять!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #293

309. Сообщение от economist (?), 11-Фев-21, 13:40   +/
С регулярками был сознательный вброс, каюсь, но по другому на соревнование никого тут не вытиащишь. А другие 5-ть методов - рабочие и достаточно показательные. Другие пусть скажут что читается лучше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #274 Ответы: #324

310. Сообщение от Аноним (310), 11-Фев-21, 14:54   +1 +/
- слушай, а кто это?
- это же неуловимый Джо
- а его правда никто поймать не может?
- да кому он нахер нужен
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #276

311. Сообщение от mos87 (ok), 11-Фев-21, 15:32   +/
а теперь есть Раку - ещё красивее
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #303

314. Сообщение от funny.falcon (?), 11-Фев-21, 18:55   +/
Языки делятся на те, которые не любят, и те, которые не используют.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

315. Сообщение от funny.falcon (?), 11-Фев-21, 18:57   +/
Но что мешало использовать запятую вместо пайпа?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #319

316. Сообщение от Аноним (316), 11-Фев-21, 19:33   +/
> хотя именно что плавает, а не плывёт

Дерь** как известно не тонет

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #238

317. Сообщение от Аноним (316), 11-Фев-21, 19:34   +/
Но это не сопосталвение с образцом
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #294

318. Сообщение от Аноним (316), 11-Фев-21, 21:00   +/
>  про автоматические конструкторы/деструкторы... Всё это оказалось туфтой со слов растаманов.

Ты сам себе противоречишь

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136

319. Сообщение от kai3341 (ok), 11-Фев-21, 23:41   +1 +/
> Но что мешало использовать запятую вместо пайпа?

Запятая инициализирует кортеж. Пайп же является оператором `__or__`

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #315

320. Сообщение от Аноним (320), 12-Фев-21, 03:02   +/
Для возможности писать так Point(1|0,1|0).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

321. Сообщение от Аноним (-), 14-Фев-21, 06:41   –1 +/
> Программист на Python в 10 раз эффективнее и производительные чем программист на C.

И как, много, допустим, операционок питонисты написали? Или там фирмварей ECU? А то лабораторные макеты на 1 раз - не единственная потребность человечества.

> Сложный проект быстрее сначала написать на Python и потом переписать на C,
> чем сразу писать на C.

Только если алгоритмика неочевидна и не понятно имеет ли это право на жизнь. В противном случае это 2 работы вместо 1 и еще масса оверхеда с переписью макета. И как показала пример редхатного пакетменеджера в результате через 20 лет может получиться гора трэша, который и не совсем питон, и не совсем си - в общем гадина какая-то, на которую мужика на коне с копьем не хватило.

> Python изначально проектировался и разрабатывался так, чтобы его мог освоить и использовать
> не только программист, но и любая домохозяйка. И это не минус, а большой полюс языку
> и уважение его создателям.

"Создайте систему которой может пользоваться даже дурак и только дурак захочет ей пользоваться". И так то никто бы не нервничал, но когда домохозяйки начинают силовыми ключами бабахать, пытаясь изобразить в типа-реальном времени, типа-синус не понимая в чем с питоном подстава, это уже делает мир несколько опаснее. Как минимум с точки зрения пожарной и электробезопасности. А поди угадай когда тебе такую подставу какая-нибудь домохозяйка удружит. И на накодили ли вот так вон того робота или умный выключатель.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184

322. Сообщение от Аноним (-), 14-Фев-21, 06:43   +/
> Понимаешь... "or" в пихтоне - логический оператор, а "палка" - побитовый.

Это для домохозяек слишком сложно, не грузи.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121

323. Сообщение от Аноним (-), 14-Фев-21, 06:45   +/
> Где он теперь и его поделия?

Я на его поделиях програмить учился. И хотя я предпочел в результате си, т.к. переубеждать паскаля на тему того что я на самом деле хотел в системщине очень уж задалбывает, он таки приучил меня к хорошему. Глядя на то как некоторые сишники раздолбайствуют - я понимаю почему учиться на паскале было хорошей идеей :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #268 Ответы: #338

324. Сообщение от Аноним (-), 14-Фев-21, 06:47   +/
Прикольные отмазки у питономакак. Соревноваться с тобой в программировании - то же что соревноваться с похом в администрировании.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #309

325. Сообщение от Аноним (-), 14-Фев-21, 06:48   +/
Да ладно, tcc не так уж и запарился. Вот хорошую кодогенерацию под кучу архитектур и оптимизации - это да, запара. Но без этой запары быстро, компактно и эффективно не будет. Хоть там что.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #200

326. Сообщение от Аноним (326), 14-Фев-21, 07:22   –1 +/
> это подчёркивает смысл языка. Вообще пихтонисты ___любят___ _писать_ __много__
> ___подчёркиваний___, чтобы без линейки не прочитать код.

Это они где-то прочитали что в C идентификаторы с _ и тем более __ - системные, reserved, не используйте. Максимализм взнегодовал и стали __назло_бабушке__ _отмораживать_ ___уши___.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222

327. Сообщение от Аноним (326), 14-Фев-21, 07:24   +/
> фишка языка.

А эта фишка не становится багом при untrusted input? А то вон в bitmessage автырь эту "фичу" влепил, так там всех кулхацкеров через фичу и поимели.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #229 Ответы: #333

328. Сообщение от Аноним (-), 14-Фев-21, 07:25   +/
> диктатора на них нет.

Диктатор сам уже задолбался с того что заварил.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #239

329. Сообщение от Аноним (-), 14-Фев-21, 07:32   +/
> Switch/case - антипаттерн. Правильное решение для любого языка - look-up-таблица. Хеш,
> или не хеш, но LUT.

LUT не обязательно эффективен на современном процессоре, где скорость проца сильно быстрей оперативы. Но когда вебмакак интересовали такие глупости как оптимизация кода?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #150

330. Сообщение от Аноним (-), 14-Фев-21, 07:32   +/
> Пока у тебя там подгнивает, я зарабатываю 200к в месяц на питоне,
> не напрягаясь)

200к чего? Ржублей? А эт разве много для прогера?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #211

331. Сообщение от Аноним (-), 14-Фев-21, 07:34   –1 +/
> За языком не слежу.

...
> Гвидо молодец понимает,

Прости, но Гвидо, для начала, задолбался возиться с помойкой которую сам же и организовал.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91

332. Сообщение от Аноним (332), 14-Фев-21, 07:38   +/
> Эти маркетологи, юристы, манагеры и прочие твари гробят творения людей везде куда
> дотянутся их руки.

Ничего, их уже прибрал к рукам гугол.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #127

333. Сообщение от Ordu (ok), 14-Фев-21, 08:39   +/
>> фишка языка.
> А эта фишка не становится багом при untrusted input?

В смысле? Если ты сделаешь (eval (read my-line-buffered-socket))? Да, это может вести к уязвимости. Ты можешь глянуть на практически любой лисповый проект и найти, как тот читает внешние файлы и исполняет из них код. Но... это lisp. И нельзя сказать, чтобы это было бы уникальным для него, то же самое можно найти в js, bash, python... практически в любом скриптовом языке. В компилируемых как правило сложнее, потому что они не имеют компилятора в рантайме и выполнять могут только уже скомпилированный код. Но рантайм лиспа содержит и парсер лиспа и компилятор лиспа, так что тут всё ок.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #327

334. Сообщение от OzWMTjhctYyY0jBcJyMQ (?), 14-Фев-21, 18:37   +/
c sdl посмотри для просветления ну и керрегана почитай
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222

335. Сообщение от Myyx (?), 14-Фев-21, 19:18   +1 +/
print(f"gone{' in a whole' if int(input('yuor gender 0 - female, 1 - man: ')) else ' to a prick'}")
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

336. Сообщение от via (??), 16-Фев-21, 11:10   +/
... как они .... !
Это вместо стандартизации cython  или nuitka в качестве штатного компилятора языка
Ответить | Правка | Наверх | Cообщить модератору

337. Сообщение от Аноним (337), 16-Фев-21, 14:15   +/
Для меня от этого выхлопа 0. Паскаль мертвый академический язык, а Вирт старый пердун, который только может всем рассказывать как надо было, но не смог.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #272

338. Сообщение от Аноним (337), 16-Фев-21, 14:16   +/
К чему хорошему он тебя приучил?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #323

339. Сообщение от Аноним (337), 16-Фев-21, 14:19   +/
Мегазгания по питону? Ну вообще-то через 15 минут знакомства с ним уже можно спокойно писать и понимать код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #176 Ответы: #343

340. Сообщение от Аноним (337), 16-Фев-21, 14:20   +/
Изыди
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #301

341. Сообщение от Конечные пользователи (?), 17-Фев-21, 22:01   +/
> Программист на Python в 10 раз эффективнее и производительные чем программист на C.

Простити, уважаемые "эффективные и производительные" програмисты, а для нас у вас немного производительности найдётся? Или как обычно - "апгрейдни машину и отвали"?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184

343. Сообщение от Аноним (344), 17-Фев-21, 22:10   +/
Вот и я говорю, язык для 95%. И его развитие определяется этими 95%.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #339

344. Сообщение от Аноним (344), 17-Фев-21, 22:20   +/
А какие гендерно-расово-оскорбительные ключевые слова собираетесь выпиливать? И какие гендерно-расово-верные добавлять? Не запрещена ли тёмная среда разработки для скриптов на Python?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #216

345. Сообщение от Аноним (242), 26-Фев-21, 11:22   +/
Короче, я смотрю, | aka union operator добавили в 3.9 для словарей и в 3.10 для тайпхинтов и проверки типов (вместо typing.Union). Так что больше не нойте -- всё нормально с case.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру