Старое обсуждение:Python

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску
Основная статьяPython (Лурк)Старое обсуждение

Внимание! Это старая дискуссия, которая некогда велась на сайте Луркоморье. Пожалуйста, для продолжения обратитесь к актуальной: Обсуждение:Python, которая проводится в стиле пленарного заседания.


Балаболии полна статья[править]

«

Прикинь блин, сижу вчера на питон скрипт делаю, Мама подходит и говорит, харошь в крестики нолики играть к экзамену готовься)) » — бездна Баша

Всем насрать, что тебя заапрувили в этой клоаке, убери это говно из эпиграфа.
Всем глубоко наплевать на твоё отношение к башоргу. Лулз должен быть!
Мамка-ебанашка перепутала строчки кода и крестики-нолики. Сын-еблан выложил на баш. Лежали всем офисом.

и полистать код пары-тройки опенсорсных программ.

Блѣть, просто так полистать код closed-сорсных программ и так не получится. Так нахуя упоминать опенсорс? Пиши проще, сука, «поскроллить сорсы пары программ»
Вот не поверишь: по работе постоянно приходится копаться в коде именно клоузсорсных программ, которые нам поставляют наши партнёры. Когда окончишь школу и пойдёшь работать программистом на продакшЫне, а не тупо кодить детские поделки — поймёшь о чем я говорю.
Кхм? Адинуд же, полистать код любых программ, нахуя специфично указывать, што опенсорц? Лексическая ошибка же. Ты своим ЧСВ загородил себе смысл того, о чём я.

Язык крайне простой и скромный на выразительные средства сравнительно c Ruby или Perl (один из элементов идеологии — надо программы писать, а не самовыражаться затейливо). Но на самом деле предоставляемые возможности достаточно широки, чтобы надолго увлечься данным языком.

Скромный на выразительные… но возможности достаточно широки. Блѣть, вровень, или выпирать?
Блѣть, посмотри в словаре такой приём как «антитеза». Да скромный, но возможности широкие. Ассемблера, что ли никогда в руках не держал?
Литераторов полон лурк. Чот я не узрел там противопоставления кроме «вон то говно вкуснее, но питон тоже ничо», а это уже банальная имхота, без всяких антитез. Хотя это я слепой, да.

При достаточном желании и отсутствии перманентного отрицания (в духе «всё ерунда кроме пчел») есть вероятность научиться писать годный, сопровождабельный и продаваемый код.

При желании можно и яйца дверью прищемить, на любом языке программирования. Что сказать-то хотел?
Человек хотел сказать, что даже на этом дерьме можно написать что-то стоящее (что отличает, его от такого дерьма, как Perl)
Имхота, как она есть. Объективность, не, не слышал?

Противники обзывают его «дыроном» и пилят код на PHP.

Кому интересно, что я иногда называю свой краник пиструнчиком?
Твоему отцу(матери?)-членодевке
Ну вот, хоть кому-то. А как там Питон кто называет — никому. Видишь разницу?

Вызывает ненависть многих ЯП-нёрдов, ибо лишь ограниченно поддерживает некоторые продвинутые технологии программирования:

Вода. Пруфы с нёрдами или уд простой.
Я — ЯП-нерд (помимо всего прочего) и у меня вызывает ненависть.
Дык приведи, что ли, аргументированную статью какую в ссылкоте, мол ненависть, ибо вот тут и вот тут полный дырос. «Не читал, но осуждаю» же, как оно есть. В статье мало примеров.

Бесит взрослое поколение, ибо невозбранно позволяет оттяпать себе пальцы, пройтись по граблям или прострелить ногу

Из носа наковырял. В сишке, например, из коробки северный лис с указателями и выделением памяти. И чо? Системный софт как писали на сишке, так и пишут. Олдфаги счастливы и жрут, хотя минные поля там будь здоров.
Хреновое сравнение. Минные поля там, в Си, в отличии от питона, чётко обозначены: когда работаешь с указателями напрямую чётко понимаешь, что можешь легко обрушить всю систему и каждый шаг делаешь хрошенько прощупав почву во всех направлениях (ассрерты идут из коробки, если ты вообше о них слышал, питоношколньник!). В питоне же все минные поля замаскированы под одну большую кучу дерьма. Хрен поймёшь где именно надо быть осторожным, а где можно быдлокодить направо и налево без особых последствий.
Ы. Ты оудонен, пиши ещё. «Минные поля с чёткими границами» — буду юзать в речи. И, да, на личности не переходи — признак слива спора же. По делу: ничего не мешает «прощупать почву» в Питоне, основные мины известны так же.

глобальное состояние: даже можно менять поля в объектах снаружи (коварный питон вначале бездействует);

Путано и непонятно. Снаружи пространства имён? Снаружи подводной лодки? Глобальное состояние ануса твоей мамки?
Что тут непонятно: снаружи объекта! А остальное уже неважно. Ах да, откуда школоте знать что-такое инкапсуляция?
Дык и напиши, профи долбучее, чтобы всем понятно было, а не только стае красноглазых.

ссылки на функции: он не мешает создать переменную «len» и подорваться при попытке вызвать «len()»;

Ерунда. Незнание основных встроенных функций языка — рак мозга кодера, а не бага языка. Если уж так сильно охота создавать короткие имена, то никто не мешает глянуть сначала в locals() и globals(), чтобы уж точно не повторить какую-нибудь поебень.
Даже в шарпе дико раздражает невозможность создать переменную с именем, например, event. Но шарп-душка: он ещё на этапе компиляции (или набора кода) ругнётся, что низзя. А питонская сволочь заставляет запоминать кучу ненужного дерьма и тратить время, чтобы избежать коллизии имён, которую обнаруживаешь только во время исполнения.
Для вас, ибланов, придумали пространства имён. Пользуй их! Так нет же, хочу жрать говно и всё объявлять в глобальном. Хочешь работать, как олень в одном пространстве — запоминай своё говно сам, никто тебе не виноват.

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

Как вы заебали. PEP-008 это гайд. Гайд, блѣть, который описывает соглашения по программированию на языке для уебананов, чей код читать невозможно. Сделан с одной целью — тыкать носом ньюфагов и индусов, которые не слышали вообще, что есть такие понятия, как «стиль кода», «соглашение об именовании переменных» и «венгерская нотация». Но нет, всегда найдётся долблан, который с пеной у рта будет доказывать, что ЭТО СТАНДАРТ БЛЯТЬ 4 ПРОБЕЛА ВЕЗДЕ ДОЛЖНО БЫТЬ ХУЛИ У ТЕБЯ ВЕЗДЕ ПЯТЬ ТЫ НЕ КОДЕР ТЫ ГОВНО ВОТ У НАС БЫЛ ИНДУС ОН ХУЕМ ПО КЛАВЕ НАБИРАЛ ТЕПЕРЬ Я ВСЕХ ВСТРЕЧНЫХ ПОПЕРЕЧНЫХ ЗАДРОЧУ СОБЛЮДЕНИЕМ PEP-8!!!111. Если код читабелен и сопровождабелен, то соглашения по стилю его написания — внутренние дела конторы, которая его пишет/сопровождает.
Код написанный не по гайдам читабельным и сопровождабельным быть не может по определнию. Сопровождабельный код — это код сопровождаемый кем угодно, через сколько угодно времени, а не тремя только гопо-школьниками решившими запилить свой быдло ссайт. Проекты продаются и передаются. А покупать проект написанный «по внутренним соглашениям» никто не станет. Проще и дешевле будет сделать с нуля.
Где я писал про будут или не будут покупать? Ты сам с собой там уже говоришь. Я про внутренние стандарты компании говорю, а ты мне про продажу всего проекта, да ещё вместе с исходниками.

Алсо, синтаксис с отступами и строчными буквами ни разу не совместим с традиционными шрифтами для программистов (такими, как Terminus), но любивен на «Маках», где используются сжатые шрифты (такие, как Lucida Grande). Отсюда мораль: сильнее сжимайте шрифты.

Это вообще ерунда удот. Отступы не совместимы со шрифтами. Сожмите ваши шрифты, блѣть, но только на Маках. Никого не долбёт, какой там шрифт кому «любивен», пиши про язык.
Если язык заставляет ломать глаза кривыми шрифтами или вынуждает покупать мышку с горизонтальным скролом — то это проблемы языка, а не шрифта. Так что речь именно о языке.
Ещё один. Если язык не подходит к моему шрифту, то он говно. Моноширинных шрифтов — как говна за баней. И да, ты там срался выше за PEP-8, так вот одно из правил там: длина строки не более 80 символов. Что ты там горизонтально прокручивать собрался в окне в 80 символов шириной, наркоман?

Шах и мат.

Съеби в свой контактик и больше этого говна сюда не приноси.
Батхёрт — такой батхёрт! Больше батхёрта богу батхёрта, больше пасты трону пасты!
Ну серьёзно же, детский сад, на лямках штаны. Вы там «Уотакуот» напишите или ещё какой несвежий мемос.

улучшена библиотека коллекций. Теперь питон настолько гибкий — что из рук выскальзывает!

Петросян, убери своё говно. И напиши, что реально допилили в коллекциях. Срать нам на твои личные эротические фантазии о скользкой змейке.
Как ни странно, но эта метафора (тоже посмотри определение, чтобы не позориться) про скользкую змейку очень точно отражает суть
Читай подряд, а не первое и последнее. Основная мысль — не указано, что допилили (хоть чутка, драфт). А то читается, как: допилили что-то в коллекциях, жить стало лучше, питон гибучий.

Любовь питонистов к подчеркиваниям вылилась в использование последних в названиях многих переменных: _приватных, __классоспецифичных, __магических__ и просто_плохо_названных_очень_длинных_потому_что_так_получилось_.

Любовь питонистов сношать шваброй любителей говорить за весь курятник тоже никуда не делась. Пруфы, сука, что подчёркивания северный лис как популярны у кого-то, кроме твоих одноклассников?
клозсорсный код тебе выложить? У нас вообще есть скриптик, который автоматически заменяет имена_с_подчёркиваниями на нечтоДжаваПодобное. ЗАЕБАЛИ.
Выложи же. Поржём и будет пример в статью, что даст ей лулзов. DO IT FAGGOT!

Будучи скриптовым языком, Питон медлителен. Для борьбы с этим используются: специальный транслятор для написания шустрых модулей к питону Cython, экспериментальный JIT-компилятор PyPy и прочее, тысячи их.

Пруфы «медлительности» и сравнительные тесты с другими ЯП или уд простой.
Ну вычисли все простые числа до 65535 — на джаве и на питоне. Программка простейшая (даже для школоты), а сразу видно, кто больший тормоз. Есть вещи, которые просто очевидны.
Вычисли «иди на уд»? Я прошу подтверждения слов, написанных в статье, а не твоё долбаное «Ну вычисли сам». Пишешь в статью категорично — пруфай, пидр! Никто не обязан искать подтверждения твоих высеров, кроме тебя.

Питон-фаги любят описывать свой стиль написания программ как Pythonic и говорить, что они следуют Python Way. Некоторые кодеры реагируют на это мемом «Python way? No way!».

Питон-фаги любят долбать твою мамку. Вода и уёбищная попытка зафорсить говномем.
Питон-фаги девственники навечно (возможно, даже кастрты) и долбать никого не могут. А мем имеет место быть в узких кругах, что делает его локальным мемом и потому ему место в этой локальной статье.
На главной лурка написано для таких грозных бабоёбов, как ты:
Только если это такая вещь, про которую никто, кроме вас и стаи группы близких товарищей никогда не слышал — потрудитесь дать пруфлинк. Мы все-таки пишем статьи про явления, о которых знает больше одного человека. Желательно — гораздо больше одного человека. Такие вещи мы называем культурными явлениями, мемами и фольклором.
Но суровые долбаки не читатели. Они писатели.

Тим Пейтерс

Tim Peters. Питерс он.
Это лулз, тормозок ты наш, намёк на пейсы и еврейство.
_Дзен Питона_ и _евреи_. Такой-то лулз, набашорк, кот шредер.

Многопоточность и юникод через заду (Python 2.x)[править]

Напишите же, что она сделана через уд моржа и неюзабельна от слова совсем. Блокировки, семафоры, дыра, гроб, кладбище, зависло. Приходится долбаться с multiprocessing.Process и Queue, чтобы получить хоть какую-то контролируемую многопоточность (хотя, блѣть, на самом деле получается многопроцессность). И, да, науд строем идёт разделение данных между процессами, благо Queue норм так ничо зделоли и он позволяет енто дело порешать. И оно даже стабильно работает потом. Но это ни разу не многопоточность.

Алсо, юникод. Он не то чтобы херово реализован, он реализован нормально. А вот конвертация между байткодами и произвольными кодировками сделана таким чудовищным раком, что для _нормальной_ работы приходится люто костылять и именовать каждую строковую переменную с префиксом b_* или u_*, дабы не наебать самого себя. Для осознания всех масштабов северного лиса конвертации байткод<->юникод, рекомендую анону читнуть | тут. Кратко: вы должны быть уверены в каждом долбучем символе входящих строк, либо стрипать всякое говно сразу на входе и конвертить всё в юникод. Иначе, оно вылезет в рандомном месте и уебёт вас по голове. Зеркально на выводе: выводить нужно в локальной кодировке. Забыл конвертнуть юникод в байты? На, науд, эксепшен словил, так как автоконвертация работает через раз, а для вывода ошибок вообще не работает.

юникод это не кодировка, а таблица символов, естественно из cp1251 в utf-8 без промежуточной конвертации в юникод строку не перевести. decode декодирует последовательность байт в юникод (каждый символ 4 байта, довольно удобно и определять длину строки и выполнять любые строковые операции), а encode переводит из юникода в байты (либо байты в тот же base64).
Во-первых: Где я писал, что юникод это кодировка, долблан? Ты задой читал? Во-вторых: персонально для открытия тебе нового мира — Юникод не таблица символов и не кодировка, это система кодирования символов, удобная для компутера. Позволяет закодить любую долботу (вроде той, что у тебя в голове), в виде последовательности шестнадцатеричных чисел. Ещё разок: универсальное внутреннее представление символа в виде hex-кодов. В-третьих: Читай по ссылке, что я привёл. Декод/енкод работает не везде, причём настолько не везде, что ты оудоешь. А теперь съебал учить матчасть, умник.

срачъ[править]

  • хвостовая рекурсия*
Таки питон императивный и ОО язык в первую очередь.
и вообще, судя по убожеству грамматики пейсона, в дизайне ЯП не особенно рубит.

Ну да, тот факт что Python в 6 раз лексически эффективнее C и в 3 раза Java это показатель что Гвидо ничего не понимает в дизайне ЯП

Удычески, блѣдь. Ты вообще прочитал, что тут написано, перед тем как лезть со своими улучшает цвет волос на 71%?
Критика языка за его грамматику — признак быдлокодера. Язык определяется семантикой. К тому же грамматику питона критикуют только школьники, которые на нём не пробывали программировать. Через месяц на питоне кажется, что остальные аффтары языков не рубят в дизайне ЯП.
Ну вот школота себя и показала. Все неизлечимые и реально досаждающие проёбы петона уже давно обсосаны и отрицать их существование может лишь фонатик. К счастью, бывают и адекватные невосторженные питонисты.
Примеры в студию. Чур GIL не упоминать.
Блѣ, читай, что тут пишут, ок? Я говорил про язык, а не интерпретатор. Про интерпретатор в другом треде. Язык объективно хреновый, одно выстраивание стейтментов в лябмдах с сайдэффектами (пусть даже и локальными) с помощью логических операторов чего стоит. Полное отсутствие выбора один-из-многих, по типу МЛ-паттернов или хотя бы няшного switch. Удоватый скоупинг, добавленный в язык явно не сразу. ВНЕЗАПНО статические переменные, статичность которых зависит от способа инициализации (однажды столкнувшись, запомнишь навсегда, но, блѣдь, кому это надо, коли язык такой распрекрасный). Убожественная система типов. Нельзя доопределять операторы, поэтому прощайте нормальные DSL. Нет стандарта капитализации при регистрозависимых идентификаторах. Это только то, что лично мне досаждает.
CPython, «официальная» реализация, тоже сляпана кое-как
Кроме мифической проблемы GIL, где еще она сляпана кое-как?
«мифической»?.. Вы серьёзно?
Реквестирую конкретный пример когда конкретно вам GIL серьезно помешал. С бенчмарками.

Лямбды в питоне не нужны, тем более с сайд-эффектами, все можно сделать вложенными функциями. Отсутствие один-из-многих — что же вы про цикл с постусловием не вбросили? И то, и то нужно редко, оба можно сымитировать средствами языка (один-из-многих, например, через dict). Про скоупинг принимается — из вашего высера единственное по делу. Статические переменные — Приведите пример, не очень понятно что вы имели в виду. Система типов — реквестирую подробности, с конкретным описанием где и что не так и как надо было. Доопределять операторы — ага, не хаскель и не лисп, функциональщики идут дрочить в другом месте. Остальные понимают, что лучше даже не переопределять. Нужен язык для построения DLS — лисп к вашим услугам. Серебряной пули нет. Стандарт капитализации есть, читайте PEP8.

Аффтар статьи, сотрите слюни с монитора. Вместо того, чтобы высасывать из пальца какие-то минусы (свича нет, а часто ты им пользуешься?), и даже без маленькой ссылочки на то, что в 99,9% других языков все обстоит на 9000% хуже, посмотрите вокруг, что в мире делается. И на чем сейчас пишут серьезные люди, а не помешанные на Сях волосатые линуксоиды.

Что за говнюк поставил ссылку на Гугл? Открою вам всеобщеизвестный секрет, что в конце 2012 Гугл щедро вознаградил великого Гуидо, выпилив его из компании на уд. Поговаривают, что без ссаных тряпок не обошлось. Так что просим больше не ставить в один ряд великую компанию с зачуханским фейлом.

Беспонтовый язык. На самом деле, очень плохой язык. Я думал намного лучше будет это все.

Блѣдь. Блѣдь, блѣдь, блѣдь. Функциональные уебаны — быстро, решительно науд. Ваши визги вне вашего отстойника (/pr/) никому не интересны. Питон — это не лисп. Зарубите это себе на носу и дыруйте искать работу. Мамка вас вечно содержать не будет.

Уд говно[править]

Уд говно. Дискасс

Тема Pythonic и Python Way не раскрыта.
Ви таки мойшете её раскрыть.
Не много ли __подчеркиваний__?
нѣтъ.__подчёркиванiй__().__въ__(самый.__разъ__)()
Возглавляется неким «Гвидо ван Россумом», который не знает:
зачем был нужен reduce() (аналог foldr из Haskell) и поэтому убрал его в модуль стандартной библиотеки Щито? Functools в стандартной библиотеке. — Уд в пальто, такие вещи должны быть под рукой, а functools и есть задница библиотеки. Мудень ван россум хотел туда же map засунуть. — Map как раз можно было и засунуть, учитывая что есть намного более простая конструкция, например [ x ** 2 for x in [1,2,3,4]].
не знает о tail call: [1] Таки питон императивный и ОО язык в первую очередь.
и вообще, судя по убожеству грамматики пейсона, в дизайне ЯП не особенно рубит. Ну да, тот факт что Python в 6 раз лексически эффективнее C и в 3 раза Java это показатель что Гвидо ничего не понимает в дизайне ЯП Удычески, блѣдь. Ты вообще прочитал, что тут написано, перед тем как лезть со своими улучшает цвет волос на 71%? Критика языка за его грамматику — признак быдлокодера. Язык определяется семантикой. К тому же грамматику питона критикуют только школьники, которые на нём не проб'ывали программировать. Через месяц на питоне кажется, что остальные аффтары языков не рубят в дизайне ЯП. Ну вот школота себя и показала. Все неизлечимые и реально досаждающие проёбы петона уже давно обсосаны и отрицать их существование может лишь фонатик. К счастью, бывают и адекватные невосторженные питонисты. Примеры в студию. Чур GIL не упоминать.
CPython, «официальная» реализация, тоже сляпана кое-как Кроме мифической проблемы GIL, где еще она сляпана кое-как? «мифической»?.. Вы серьёзно? ; есть альтернативные (с нуля писанные типа PyPy быстрее CPython в десятки раз на мелких программах и лишь изредка тормознее на больших или форки типа Stackless который, кстати, выбрали для Eve Online.).
Нет возможности написать что-то многотредное по-человечески и без изъёбств. Программы на Python с гуем всегда будут блокировать ввод пользователя до выполнения ближайшей фоновой операции. FAIL. Враньё и провокация. GIL не мешает в большинстве случаев. Хотя GUI на питоне писать не особо весело, это да. Для особо крутой многотредовости Stackless вам в помощь. А UI таки нормально себе пишется [2]
Пошел ты на хер, козел, со своим reduce. Сижу на лигаси, на который лет пять назад понабрали школьников, так там многострочные лямбды, фильтры, мапы и редьюсы, которые легко заменяются на короткие и няшные императивные for/if. Функциональщики, млять, рукозадые. Начитаются своих хабров и долбут проекты в заду, не научившись толком кодить.
  • несмотря на распространенное мнение __необязательно__ __всё__ __выделять__ __такими__ __подчеркиваниями__. Можно написать в 3 раза более нечитаемо, но обойтись без них — все сколько-нибудь полезные встроенные в язык по конвенции методы и проперти называются __str__, __class__ и т. п. FAIL. Аффтар, вы питон дальше туториала трогали?

не выходит аленьк? школота, читайте сказки Бажова

Набережные члены[править]

Набережные члены.

Лок[править]

Статья залочена из-за набега малолетних долбоебов. Cry me a river!

Нахуя с примечаниями сносить куски статьи, да ещё взъёбывая индентирование? Не дови на меня.

От себя добавлю прямо здесь — мне одному кажется, что обсуждение будет поприятнее и читабельнее самой статьи, а самое интересное — объективнее?

Щито?[править]

def __См_также__():

* Perl * Ruby * Онанизм * Фурри

не, ну я понимаю онанизм… но фурфаги-то тут причем?

Ну дык питон же — фауна.

"GRUNNUR"[править]

«GRUNNUR»

даепт[править]

Я считаю, что после этого вашего индентэйшна статья превратилась в трудночитаемое говно.

  • Я считаю, что идите науд. Сагаю топовый тред.
  • Присоединясь. Нечитаемо, попытка «соответствовать духу» языка выглядит чуть более чем нелепо. 1) Индент упрощает восприятие человеком исходного кода — жёстко структурированного по своей природе. Такая структурированность не свойственна (не)литературному тексту. 2) Индент — элемент синтаксиса, писать о Python с отступами — это как о Java писать с фигурными скобками и точко-запятыми.

Питон и не-ascii[править]

Такое ощущение, что его делали американцы, не знающие, что есть нечто, кроме их алфавита. Юникод и перевод кодировок вообще работает через какие-то костыли. Таки да, многопоточность хромает.

что ты вообще имеешь в виду?

Фигню глаголите. Для уникода специальные уникод строки даже есть.

Третий хотяб по умолчанию с юникодом работае.

Для третьего половину софта никто переписывать не хочет. Хоть обдрочитесь с юникодом, python3 не всрался никому.

автор страдает недоебом.

По пунктам[править]

1. «reduce отправили в стандартную библиотеку» — so WAT? В эрланге, например, фолды тоже в lists. И?

2. Двойные символы подчеркивания НЕ рекомендуются для именования.

3. GIL. a) GIL жив до сих пор, потому что С-шные модули с ним проще писать. б) треды — НЕ нужны

4. Хвостовая рекурсия. Ха. Ее и «чистые» ФП не все имеют. А питон в первую очередь императив.

Хреново с матчастью у аффтора. Только слюни и «хреновый» дизайн.

  • Отвечаю по пунктам же. 1) Мне поебать, как там в этой нетипизированной НЁХ это сделано. Ещё анлямбду в пример приведите. 2) Действительно! sorted(s) vs s.sort() vs s.__contains__, да это же, блѣдь, железной рукой утверждаемый гайдлайн по именованию и семантике вызовов. 3) Ну и долбитесь со своим select(), раз не нужны. Я буду писать в 5 раз проще и быстрее с тредами, пусть и петоноговнотредами. 4) "Ее и \"чистые\" ФП не все имеют." — обоснуйте. Кстати, тейлколлы (не только тейлрекурсия) вообще критичны для оптимизации программ, написанных без goto и comefrom. Классический пример — конечные автоматы.  Надеюсь, я продемонстировал, что эти 4 пункта — мелкие придирки по деталям, причём чуть менее чем целиком в лужу.

1. reduce не нужен. В заде стандартной библиотеки ему самое место. Любой reduce можно выразить через другие, более распространенные, конструкции. Чем меньше погромисты вроде вас его используют, тем проще всем остальным проддерживать код. 2. Что там не так с list.sort и sorted и к чему вы вообще приплели __contains__? 3. Треды не нужны, есть процессы. Но вам я разрешаю продолжать долбаться с тредами. 4. Хвостовая рекурсия не нужна. Как в питоне не нужны и рекурсивные алгоритмы. Это не функциональный язык. Конечные автоматы прекрасно пишутся без рекурсии вообще. И без goto, и тем более без comefrom.

1. В этом и весь питон: «чем меньше вы изъёбываетесь со стилями программирования, тем проще быдлокодеру будет понять, вашу программу.» Между прочим этим путём уже ходил Вирт, выпиливая из паскаля всё, что его студенты-двоечники умудрялись использовать через заду. Лишь борланд умудрилась допилить паскаль до чего-то пристойного. Разрабы питона явно опыт Вирта не учли.

2. Чувствуется что написатели библиотек гайдлайнами просто подтёрлись. К тому и примеры.

3. Блджад, с какого хуя я должен ограничивать себя столь крупной сущностью как процесс? Кстати как через shared-memory прокинуть питоновский объект? Ему не поплохеет в другом процессе от этого? А как уживаются друг с другом сборщики мусора с нескольких процессов в одной куче? Или предлагается идти путём «memcpy на всё что передаётся»? Я просто не в курсе этих дел, питон я разглядывал исключительно как способ писать GUI (а науд ещё может быть нужен скриптовый язык?), увидев же что с потоками у него абзац задвинул на это гиблое дело.

4. Оптимизацию хвостовой рекурсия умеет даже gcc. Почему нельзя подобное запилить в python? А насчёт «не нужна», «это не функциональный язык»… Долба, ты когда нибудь заглядывал в код уровнем ниже питоновского? Я уже молчу о том, что рекурсия местами оказывается гораздо читабельнее чем очередной цикл.

Конечные автоматы прекрасно пишутся без рекурсии вообще. И что с того? Мы знаем, что любой цикл можно заменить рекурсией, но, между прочим, не так много функциональных языков, кто эту идею возвёл в ранг абсолюта и отказался от циклов, лишь те, что на всю голову функциональные, типа Haskell'а. Откуда столько упёртости и максимализма? Существует масса подходов к написанию программ, и рекурсия лишь один из них. Нахуя было эту рекурсию сознательно тормозить отказываясь от tail-рекурсии? Просто потому что «мы пишем итеративные программы» и ненавидим функциональщину? Ну может тогда стоит выпилить возможность описать массив/список непосредственно в коде программы — мы же пишем итеративные программы, а не декларативные. А заодно и функции/классы выпилить — это ведь просто слегка завуалированные проявления той же декларативщины.

«Надеюсь, я продемонстировал, что эти 4 пункта — мелкие придирки по деталям, причём чуть менее чем целиком в лужу.» да нихуя. Из мелких придирок создаётся язык, неприспособленный для написания программ. А насчёт «в лужу», ты на себя лучше глянь.

Блѣть ну че за уд[править]

Почему все статьи о языках программирования написаны убогими уебанами? В обсуждениях дохуя умников, а статьи — кал, писаный школотой-Pascal™ или ПихаПэ© кодерами? Где тонкое чувство юмора и феерическое знание всех мемичных эпизодов, окружающих сабж, на десятилетия назад, за которое мы так любим Лурк? Все это похоже на переведенную какими-то озлобленными лукроебами педивикию, а не на ценный авторский контент.

  • Возьми и допиши, сраный нытик
    • Соси уд, быдло.
      • ололо все просто, просто труъ кодеры, настолько труъ, что у них начисто отсутствует фантазия. А сраные гуманитарии плохие кодеры.
  • Статья как раз ок, есть критика и со стороны дебилов, и со стороны матанщиков. Но жутко бесят набигающие аутисты, которые думают, что со статьёй (авторами) можно и нужно спорить, и расставляют свои идиотские примечания и [щито].`
  • Да, писали статью идиоты, как вам перл:
Ибо язык без типов данных — первый шаг к резиновой женщине;

по отношению к питону. С каких пор во втором питоне ислезли типы?

    • Прозреваю, что имелась в виду динамическая типизация. И да, динамические языки — действительно шаг к резиновой женщине.

Почему до сих пор нету??[править]

Завтра ищешь в интернете книжку Dive into python. Пофиг если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода — PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше — тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблѣдков / просто неудачников типа рейфага или сисярп/джава-удососов, которые сосут уд по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

Картинко[править]

Испытываю желание добавить в статью картину «Лаокон — Битва Со Змеями», но не знаю, какие шуточки-прибауточки к ней написать. Подскажите, кто-нить! (Анонимус)

Django и что мужик делает со змеейМимо проходил

Что за ерунда?[править]

Какой мудак перепиливал статью? Где ненависть? Где критика? Где лулзы? Одна сраная википидота. Откатите нах сей питоноёбский высер.

Присовокупляюсь. Статья невыносимо безынтересна.
Какое-то говно из википедии. Тот питоновый пидор из 2009 вернулся и разместил своё питонофажество?
В более ранних версиях тоже нету ни критики, ни ненавести
Вот-вот. Даже «педонистов» откатывают. Лулзы мертвы.

О типах данных[править]

Я убрал из статьи:

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

Всё верно, только это не дыра в синтаксисе языка. Это сделано для возможности обобщённого программирования (см. такие языки, как Ада и «дженерики» в решётках и яве). В данном случае надо либо добавить хинты в описание функции, либо — вручную делать проверку типов, см. здесь и здесь.

Подписывайтесь датой. Жава таки статически типизированная. Это недостаток утиной типизации, единственный способ избежать — писать код для проверки типов. Хинты чисто декларативные и всем всё равно, я так пока и не нашел способа заставить питон проверять по ним типы. Так что имхо стоит вернуть.

In any case, don't typecheck. It is completely unnecessary and has only downsides.

Автор явно не читал процитированный тобой текст. — 05:29, 9 октября 2014 (MSK)
Впилите, кто понял, про создание функций, жрущих любой тип входных данных (с проверкой на входе) и дальнейшую диспетчеризацию на основе типа. Впилите, пусть жабоёбы изойдут тут говном, пытаясь в своей жабе такое повторить, со статической типизацией. Будет время, сам напишу.
На джаве такое есть ОЧЕНЬ давно. Рефлекшн называется. ArrayList (и вообще все коллекции) так работают.
Собственно, как мне и думалось. Статью читают и патрулируют жабоёбы. Ничего хорошего здесь не будет.

Питон и Гугел, год 2012 (Google vs. Python)[править]

Не понимаю, как можно было не написать, что даже Гугл уже избавляется от Питона? Особенно последнее время так интенсивно выдавливает из себя Питон, что аж пованивать стало. Сначала это было просто запиливание всех внутрикомпанейских разработок на Питоне. А теперь уже в открытую и Гвидо был выпилен ссаными тряпками. Не нужен им больше ни автор, ни его «лаконичный» язычок. В интерентах упорно ходят слухи, что вот-вот с года на год Питон накроется могучей волосатой старой поебаной дырой. А вы тут пишите какие-то сказки «…баба будет теч при одном упоминании…». Месячный оклад питониста скоро станет дешевле, чем обезьяна с балалайкой за час у метро зашибает.

Всем учить PHP, блѣ. На PHP нописаны фЕйсбук и вКонтакте!

Слишком толсто, няша. Последняя фраза так вообще толщиной с ПХЧВ (Потный Уд Черного Властелина :))
вконтакте написан на языке похожем на php3 kphp свой скриптовый язык. там у них все компилируется. тоже самое про фейсбук.
ЧВ конечно аргумент, беспесды. Однако добавлю, что Википедия еще нопейсана на пхп. Но что такое Википедия, подумаешь какая-то сраная сайт-визитка с полсотней несчастных посетителей в год. Можно было бы и на Питоне написать. Однако… что какбы символизирует
фЕйсбук и вКонтакте об этом искренне жалеют и потихоньку переписывают на другие языки, была цитата.

Выстрелить себе в ногу…[править]

… Питон таки позволяет. Из-за кажущейся простоты манипулирования объектами и списками получаются логические ошибки. Язык не виноват, но он даёт большой полигон для ошибок. Много раз ловил трудноопределяемые ошибки из-за работы со списками — их присваивания, копирования… … Язык не виноват, в том что ты тупой и не можешь найти ошибку по трэйсбэку

В стиле плюсов[править]

Мимо проходил

import sys;

class Cout(object):
    def __lshift__(self, anything):
        sys.stdout.write(str(anything));
        return self;

cout = Cout();
endl = '\n';

cout << 'Hello, World!' << endl;

Мудаки, что правят статью[править]

В частности, Ёжи.к. Ну науд ты лезешь править, если нихуя не шаришь? Хочешь делать лулзы? Ну так и пиши, блѣдь, статью один. Вот нахуя, например, было стерто это?

На самом деле всем всё равно — эти хинты нигде не проверяются;

Мне что, патрулировать мои правки и смотреть, не стер ли где-то тупой мудень все подряд без разбора? Звыняй, эту стадию я уже прошел, теперь мне время жалко. — 00:50, 9 ноября 2014 (MSK)

Hello world[править]

Не хватает. Можно добавить пример какой-нить типа такого:

from PyQt5 import QtWidgets
import sys

def main():
    ap = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    lb = QtWidgets.QLabel(w)
    lb.setText("<html><p>Привет, лурк!</p></html>")
    w.show()
    return ap.exec_()

if __name__ == '__main__':
    sys.exit(main())

Тогда уж добавить и для wxWidgets и DigitalWindows… а то реклама Qt получится :-\

А чем плоха реклама открытого продукта, который активно пилят и везде внедряют?
Тогда уж pyside. pyqt мозольный.
Тем «плоха», что статья не о нём, а о языке и лулзах.

NASA пришла[править]

а вообще Python крутой язык который используют в NASA

А ДРАКОН используют (до сих пор) в РосКосмосе: тоже крутой язык? Напишешь на нём чатик?

Существует[править]

Существует легенда, согласно которой один сумрачный гений от питона, работая три недели без сна над одним очень интересным проектом, как-то по пути на работу в метро размышлял над оптимизацией своего кода. И в момент, когда вагон поезда нёсся в тунеле между Арбатской и площадью Революции, питон-куна таки осенило. И взошел он из-под земли, пошел к Мавзолею и объявил переменную… С тех пор его никто больше не видел.

Графомания. Чо сказать-то хотел?

Почему?[править]

Слышал, что бэкенд того же yelp написан на пайтоне. Также слышал, что тамошние прогерры люто, бешенно ненавидят джаву. Вопрос к залу — из-за чего и почему? Неужели из-за того, что C# и джава уже достаточно сильно об-индусились?

Начнём с того, что ты неграмотный мудак и неумело пытаешься завязать холивар «Питон-Ява-Шарп». Тем же и закончим.

Typehinting[править]

Зачем он нужен? Альтернативное декларирование типа переменных вне docstring?

>>> def hello(name: str) -> str:
  return f'Hello {name}'

>>> hello('World')
'Hello World'
>>> hello(42)  # Don't raise Exception
'Hello 42'
>>> help(hello)
Help on function hello in module __main__:

hello(name:str) -> str

И все бы ничего, но...[править]

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

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

Загуглил, в чём траблы-то. И первое, на что наткнулся, был этакий риторический вопрос "А оно вам надо?" Да ну? Реально что ли? А как же признак состоятельности любого ЯП? Того, что определяется возможностью написать и собрать оболочку ЯП на самом ЯП, не используя других ЯП?

Можно ли на Питоне написать самого Питона? Вполне возможно, что можно, а вот скомпилировать - уже нет. То есть, внутри самого питона что-то в нём улучшить и пересобрать новый компилятор без использования других ЯП не получится в принципе.

Откуда все эти сказки о чуть ли не безграничных возможностях Питона, при условии того, что он не является полноценным языком программирования и даже в теории не способен потеснить ни С, ни, блѣть, Паскаль на поприще хотя бы школьного уровня программирования? Даже элементарную досовскую прогу собрать на Питоне - задача не для всякого хайлевельного красноглазика.

А ответ на вопрос "как скомпилировать прогу на Питоне" выдал очень неожиданный результат - проще всего работать с Питоном, когда на другом конце гипотетического пользователя твоей проги тоже установлен Питон, а ещё пользователь знает, как в нём эти самые проги запускать. А если очень хочется, то можно сделать инсталлер, завозящий на комп пользователя минимум от среды разработки Питона, чтобы опять же запускать проги через эмуляцию удавчика. Лол, то есть написать и запустить Питон в Питоне в Питоне теоретически можно, а скомпилить - не-а?

Отдельное спасибо за то, что написанный на Питоне код чаще используется как компонент других проектов на других языках, чем как самостоятельные проги. Ведь там где можно использовать кусок питоновского кода можно в принципе и без него обойтись.

Честно говоря, исходя из раздутой вокруг удавчика шумихи, думал что он намного лучше. Неимоверно разочарован.

Скомпилировать интерпретируемый язык - це сильно. Сомневаюсь, что кто-то компилит JS на JS, например, или PHP на PHP. Как написал один мудрый комментатор в одной из статей: "Python, PHP, JS, Ruby - скриптопараша. Ну а содержимое скриптопараши - динамикодрисня". Ничего серьезнее веб-страничек на этих языках не пишут (или пишут, всякие уебаны, чтобы потом оудоть и переписывать проект 100500 раз, пока, наконец, не доходит дело до вменяемых технологий). Скриптоязычки по определению не являются, что называется, общего назначения, потому что ущербны в самом своем дизайне, который заставляет придумать 100500 велосипедов к тому, что уже и так сотню раз до тебя сделано (гляньте на npm, например - это же леденящий душу северный лис). У питона, в частности, как и у предшественников-современников (php-js) все те же самые болезни: доудыща библиотек качества «братишка, я тебе покушать принес», 250 разных реализаций любой мало-мальски полезной вещи, а самое, блѣть, отличное - отсутствие стандарта как такового, в результате чего а) никакой обратной совместимости б) разработчики интерпретаторов вообще пилят каждый во что горазд в) dependency-hell и dll/so-hell из коробки by default. Перенос «крупного серверного проекта» на другой энвайронмент в случае питона почти гарантированно обернется термоядерной долблей, если не передиранием проекта с нуля. Казалось бы, учитывая прошлые неудачные опыты, может быть стоило бы задуматься о более продуманом дизайне, системе типов, например, прежде чем пилить очередную «серебрянную пулю из говна» - но Гвидону просто очень хотелось запилить свой язык программирования, как любой оудовшей от ЧСВ школоте.
95% времени загрузки веб страницы съедает база. тут уже абсолютно пофиг на чем писать, и потому в вебе не пишут на Java/C++ (скорость разработки является определяющей). я на сишарпе писал: ощущения как от PHP только в миллион раз геморнее из-за необходимости компилировать усе по полчаса. ты не прав, короче.
Ощущения, блѣть. Твои ощущения долбать должны кого-то? Программист на фортране напишет программу на фортране на любом языке программирования - это мы уже проходили, почему это должно всех остальных волновать? Попробуй на PHP написать что-нибудь серьезнее хоумпаги, скажем, с бэкграундными сервисами, распределенной архитектурой, многопоточно и чтобы это все работало сколько угодно долго, при сохраняющейся нагрузке. Компиляция по полчаса - это сильно. Видать, что-то я делаю не так, коли решение из 10 проектов 500+ классов в среднем + тесты у меня собирается за 15 секунд. Скорость разработки является определяющей - апологеты скриптоговна обажают писать проекты на отъебись чтобы получить бабло и съебать в закат, потому что поддерживать их говношедевры потом просто невозможно. Я искренне надеюсь, что всех мэнеджеров, решивших сэкономить на "времени разработки" однажды коллективно выебут и обоссут те, кому потом эти «быстро разработанные» решения приходится поддерживать. Динамикопараша не заставляет задумываться об архитектуре вообще - херачь себе 100500 строк кода, как-то работает - и пофиг, а то, что оно потом в рантайме может упать вообще хрен пойми почему - никого не долбет, это уже будут не твои проблемы. Строготипизированные языки, пускай даже и такие убогие, как Java, все равно заставляют программиста думать ДО того, как ты нахуячишь дохуя строк совершенно нерабочего и неразгребаемого говнокода и больно бьют по рукам за попытку писать «не думая, как в Питоне». Поэтому, вся динамикопараша обречена быть со временем вытесненной отовсюду, хотя пока еще держится вследствии того, что индустрию заполонили безрукие инвалиды, которым на таких языках проще писать - в смысле, по-другому они бы вообще не смогли. Однако, как показывает практика, все больше проектов стартовавших на Rails/Django в итоге переписываются с нуля на Play! либо ASP.NET. Даже JavaScript пытаются подавить на родном поле, выпуская штуки вроде Dart, TypeScript, чтобы хоть как-то придать ему вид нормального языка, хотя, конечно, сколько бомжа не мой - принца ты из него не сделаешь.
Бред и ерунда. TypeScript создал мелкософт специально для шарпомакак, которые испытывают батхерт от отсутстви типизации. И первый и второй можно считать мертвыми. В 2018 пишут на ES6 с помощью ретранслятора Babel.
Куча фронтендеров до сих пор пишут на Angular2 (4? 5? у него версии быстрее штампуются, чем кролики плодятся), в котором TS дефолтный, насколько мне известно. И это только одна из многих попыток уменьшить боль от разработки на JS, были еще сотни других, тоже канувших в лету.
Это так типично для скриптомакак, радоваться тому, что их технологии устаревают быстрее, чем проекты пишутся - а хули ж, это круто, когда за 3 года ты должен выучить десяток фреймворков и технологий, половина из которых устареет еще до того, как ты доберешься до собеседования. Вышел Knockout? Заебись, все херачим на нем. Через год вышел AngularJS - извиняйте, Knockout не в тренде. Angular2, Angular4,5.. ой, React/Redux, а сегодня мы вообще пишем на ES6 и у нас есть, сука, транслятор JS в JS потому что ни один браузер даже не поддерживает новый т.н. стандарт, и пока запилят полноценную поддержку, злоебучие долбоебы найдут себе еще 100500 модных технологий, которые по сути не добавляют ничего нового, кроме воистину оудовшего потребления ресурсов на пустом месте.
angular давно скурвился. сейчас популярен vue.js. есть два браузера Chrome и FireFox, на остальные приходится 5% рынка. ими тупо можно пренебречь. обновляются они автоматом. так что новые фичи сразу же доступны им. мусором типа edge и упаси б-г ie 11 никто не пользуется.

Хе-хе-хе, а быдлорожог-то у нас оказывается типичный малограмотный косноязычный быдлокодер, борящийся с Путеным и мерзкими кремлеботами прямо из своего загаженного мухами офиса. — Арматоголик (обсуждение) 09:48, 9 февраля 2018 (MSK)

Python 2 is officially dead[править]

https://pythonclock.org/ - всё, с первого января 2020 года Питон 2 официально перестаёт поддерживаться. Собсна, и правильно - нечего 2to3 заниматься.