В Глубь Языка Python

Posted on  by  admin

Очень много грамматических ошибок, читать не приятно:( По языку. Не нравится он мне:) Ни капли не жалею, что не стал его изучать:) Что именно не нравится: Блоки - их просто не видно. Понадобится редактор, который подсвечивает весь блок, от такого глаза быстро устанут.

  1. Основы Python
  2. Питон
  3. В Глубь Языка Python
  4. В Глубь Языка Python Купить

Срезы - это просто конец света list0:2. С 0 по 2 элемент не включительно! Это ж надо было такое придумать? Есть аргументы? Приведите их пожалуйста. Очень понравились условные операторы. Преимущества языка какие-то просто громко сказанные.

Никогда не поверю, что Python удобнее Perl, и тем более богаче:) Может быть где-то быстрее, но в сегодняшнем мире программирования скорость не главное:) Современные технологии основанные на XML и XSL на производительность просто забивают, так что скорость тут не аргумент. Хотя все зависит от поставленной задачи:) В связи с этим вы можете писать свои собственные модули для Python на C или C Ну это просто смешно.

Dec 31, 2015 - 'Укус Питона' (англ. 'A Byte of Python') Курс на stepic.org. Знающему основы для углубленного изучения. В глубь языка Python ( англ. Dive into Python ) Бизли Д. Подробный справочник' (2010, PDF) Justin Seiz 'Gray Hat Python'(rus) (2012, PDF) Прохоренок Н.А. 'Python 3 и PyQt. Разбираемся с асинхронным программированием на Python. В качестве примера я покажу как. В python не надо. В Python необязательно писать всё на английском языке, в программах.

Сами подумайте, много ли вы писали модулей для PHP? Для Python напишите ровно столько же;) Модули должны писаться на том же языке! Для Perl, например, можно писать модули на Perl (и таких большинство) и на Си (для самых требовательных задач), причем используются они одинаково с точки зрения интерфейса. В итоге мне понравились только условные операторы. Все сказанное сугубо IMHO. Во первых прошу прощения за грамматические ошибки.

Постарался все проверить, но видимо проверил не все А теперь по порядку: 1. Не буду спорить с вами о предпочтениях. Я объяснил так, потому что так понятно. Если мы используем list0:2, то на выходе мы получим значения list0, list1, list2. Вот так, а 2 мы уже не получаем.

По моему написанно вполне доступно. А) Каждый выбирает то что ему удобнее. Б) «Хотя все зависит от поставленной задачи» — вот именно! Для одной поставленной задачи может 2-3 мкс не важны, но в другой эти мкс могут вылиться в что-то большее. В) Я говорю что вы можете писать модули для Python. А вот кому это надо — другой вопрос. Возможно просто вы с ними не знакомы.

Я рад, что вам понравились условные операторы. Блоки - их просто не видно. Понадобится редактор, который подсвечивает весь блок, от такого глаза быстро устанут. Если код слеплен так, что отступ блока на пробел больше, чем предыдущего, это не беда языка, это диагноз программиста. При стандартных табовых отступах с размером таба в 4 пробела, как рекомендуется, блоки чудесно видно. Срезы - это просто конец света list0:2. С 0 по 2 элемент не включительно!

Это ж надо было такое придумать? Считайте, что второе значение - это не индекс, а размер среза. В указанном list0:2 мы имеем дело со срезом, начинающимся с элемента с индексом 0 и содержащего в себе 2 элемента - нулевой и первый. Что здесь не так? Да, не писал. Не пользовался. И не буду пользоваться.

Да потому что синтаксис языка изначально не позволяет мне оформлять код так, как мне нравится. У меня нет свободы, а ее очень люблю. Потом про срезы. Такой формат просто неочевиден.

Это самое запутывающее, что я только встречал. И потом, в конце моего поста русским по белому написано IMHO!

И это самое IMHO ни в коем случае не должно совпадать ни с Вашим, ни с чьим-либо другим. Я с Вами общаюсь на русском языке, и всякие вставки типа 'ничтоже сумняшеся' есть элементарное неуважение.

Насчет стандарта. Повторяю еще раз: автором языка рекомендован размер таба в 4 пробела.

Что касается tabs: man tabs The following options shall be supported: -n Specify repetitive tab stops separated by a uniform number of column positions, n, where n is a single-digit decimal number. The default usage of tabs with no arguments shall be equivalent to tabs-8.

Как видите, ничего и близко похожего на 'Особое значение имеет разметка -8: для системы UNIX она является стандартной' из Вашего документа. Откровенно говоря, это больше похоже на домыслы переводчика. Если уж пользуемся документацией, давайте ссылаться на ОРИГИНАЛЫ, а не на не очень удачные переводы. По поводу того, что Питон Вы не используете. ВЫ заявили, что в Питоне блоки сливаются потому, что между блоками нельзя поставить пустую строку. Когда Вам указали, что пустую строку поставить можно, ВЫ же заявили, что это значения не имеет, потому что Питон Вы не используете.

Ловкий ход, что тут скажешь. Из 2 не следует ровным счетом ничего. Я НЕ говорил, что второй индекс - это размер среза. Я сказал, что для КОНКРЕТНОГО приведенного Вами примера его можно трактовать так. Вы же заявили, что 'не включительно' - это однозначно плохо. Только после долгой дискуссии Вы сказали, что Вы так считаете.

Если бы так было сказано изначально, спора по этому поводу и не возникло бы. The default usage of tabs with no arguments shall be equivalent to tabs-8 Вами же и написано;) Всем известно, что значение по умолчанию - скорее всего стандартное. Остальной текст вы выдумали. Доказательства: - тут нигде не сказано о том, что нельзя поставить пустую строку:) - Вы говорите что 'второе значение - это не индекс, а размер среза'. А потом даете описание (именно описание) конкретного (именно конкретного) примера в Вашем неправильном трактовании.

Вы мне приписываете слова, которых я не говорил - вот что 'однозначно плохо'. Написано о значении по умолчанию для отдельной программы. Почему Вы пытаетесь представить это как стандарт для написания кода? - тут нигде не сказано о том, что нельзя поставить пустую строку Ваши слова: 1. Блоки - их просто не видно 2. Не важно какой отступ, хоть в 10 пробелов, блок все равно явно не выделен.

Если между блоками нет пустой строки, они сливаются Здесь русским языком сказано, что блоки не видно потому, что между ними нет пустой строки. Получается, что минус языка состоит в том, что Вы не желаете ставить между блоками пустую строку. Как ни крути, такой логики я не понимаю. Вы говорите что 'второе значение - это не индекс, а размер среза'. А потом даете описание (именно описание) конкретного (именно конкретного) примера в Вашем неправильном трактовании.

Ну если в качестве аргументов начал приводиться порядок слов, то тут спорить уже не о чем. Вы мне приписываете слова, которых я не говорил. Большая часть Ваших реплик бездоказательна. Приведите мне ЦИТАТЫ того, что я 'выдумал' или 'приписал' Вам. Спорить с Вами нет смысла:) Про значение для отдельной программы. Табуляция в 8 символов изначально стандартна для UNIX.

4 пробела просто удобнее и практически все используют. 4 симфола де-факто, 8 де-юре.

Насчет порядка слов. Мы общаемся на русском языке, а в нем очень многое зависит именно от порядка слов. Именно за счет этого он великий и могущий. Так что прежде чем что-то написать, подумайте как это поймут другие. Насчет приписывания. 'ВЫ заявили, что в Питоне блоки сливаются потому, что между блоками нельзя поставить пустую строку' - Ваши слова.

Я такого не заявлял. Это нигде не написано!

Если Вы не можете по человечески интерпретировать написанное - это Ваша проблема. 'Вы же заявили, что 'не включительно' - это однозначно плохо.' Уж извините, но такого я точно не заявлял. Это Вы придумали. Продолжать разговор не имеет смысла. Я не могу себе представить, какой же нужно использовать шрифт, редактор и монитор, чтобы блоки с отступами в 4 символа сливались. В статье есть примеры с форматированием.

Вы действительно считаете, что этот код плохо читаем? Неправильно выразился. Разница между первым и вторым элементом в срезе - это количество элементов. Восприятие такой конструкции - вопрос привычки, на мой взгляд. Зато очень удобно: list2: (с 2 и до конца), list:2 (с 0 до 2), варианты с переворачиванием списка через отрицательные срезы и т.п. Мне кажется, что Вы как-то очень поверхностно ознакомились с языком и стали делать далеко идущие выводы.

Хотя, если не нравится, то не нравится. Пишет: Кстати, стандартный 'табовый' отступ - 8 пробелов;)Python – ни разу не UNIX. Стандарт для Python –, а в говорится: Use 4 spaces per indentation level.: Срезы - это просто конец света list0:2.

С 0 по 2 элемент не включительно! Это ж надо было такое придумать? Есть аргументы? Приведите их пожалуйста.

Относительно итераторов гласит в книге «The C Standard Library. A Tutorial and Reference»: begin and end define a half-open range that includes the first element but excludes the last Я не имею ничего личного, не ставлю Вам минусы в комменты и карму за откровенный бред просто не хочется, чтобы кто-то составил не до конца объективное представление о языке. Заметьте, кроме Вас никто не привел более менее обоснованных аргументов, а устроили здесь непонятно. Фанатизм по языку не должен быть настолько слепым, чтобы нисколько не задумываться над той или иной особенностью.

У нас не как у всех! Заметьте, я просто высказал свое мнение, я никому его не навязывал. И что я получил в ответ? Мое мнение не опровергли, а обосрали (извините за выражение). Кстати PEP (Python Enhancement Proposals) - это не стандарт, а всего лишь рекомендации.

Если мне рекомендуют длину строки кода делать не более 79 символов, это еще не значит, что мне нельзя делать строки на всю ширину моего экрана. Насчет итераторов. Думаю не самый лучший аргумент. Си - язык куда более низкого уровня.

Глубь

Или я ошибаюсь? Исправьте пожалуйста, мне не нужны ошибочные знания.

Потом, итераторы, если не ошибаюсь, это одна из сущностей STL (Standart Template Library). Это не стандартные возможности языка, в самом языке Си нет итераторов. Если мне не изменяет память (а если изменяет, пожалуйста исправьте), в STL нет срезов. Есть метод типа slice (может copy, точно не помню), но именно среза нет. Так что особенности STL в применении к Python не самый убедительный аргумент. Все сказанное, как всегда, IMHO. PEP, Вы частично правы, там разные бывают, как стандарты, так и информационно-указательные.

Тем не менее эт такое единое место, откуда исходят рекомендации что да как делать – имхо правильно. А про C – тут речь именно о плюсах, а не о сях. В плюсах процесс стандартизации шёл в 1989–1998 годах и окончился фиксацией в ISO/IEC. То есть плюсы и стандартная библиотека (которая включает STL) – вещи неразрывные (согласно современному стандарту). Про слайсы: Тут собственно в основе лежит очень простая идея. Когда индексы для слайсов получаются динамически, следует избегать отдельной обработки пустых слайсов. То есть если мы получили в begin и end границы слайса, то somelistbegin:end будет , если значения begin и end равны.

GvR здравомыслящий человек:). Срезы - это просто конец света list0:2. С 0 по 2 элемент не включительно! Это ж надо было такое придумать?

Есть аргументы? Приведите их пожалуйста. Просто нужно понимать под аргументами среза не номера элементов, а, уж не знаю как они называются правильно, номера промежутков между элементами списка чтоли. 'a', 'b', 'c', 'dog', 'cat' 012345 -5-4-3-2-1(альтернативный счет с конца) Из этой схемы все становится понятнее: a0:-2 'a', 'b', 'c' a-4:-1 'b', 'c', 'cat' a-4:5 'b', 'c', 'cat', 'dog'. Еще один камень в огород языка:) Глобальные переменные.

Ну зачем это надо было сделать как в PHP? По-моему логичнее было бы сделать доступ к глобальной переменной без лишнего изврата. А если есть необходимость внутри блока (функции) определить локальную переменную с именем, как у глобальной, то лучше (было бы) для этого использовать ключевое слово local.

Для тех, кто в оправдание будет говорить, что это сделано из соображений безопасности и т.д. Отвечу: это проблема не языка, а программиста. IMHO: Очередной язык для начинающих в духе PHP. Я, честно говоря, даже не знаю, как Вам ответить:) Или этот комментарий - шутка? В общем, на тот случай, если это не шутка: 'Global variables are usually considered bad practice precisely because of their nonlocality: a global variable can potentially be modified from anywhere, and any part of the program may depend on it. A global variable therefore has an unlimited potential for creating mutual dependencies, and adding mutual dependencies increases complexity.' Ну и богатый личный опыт, разумеется:).

Простите, может я глупый вопрос задаю. Статья хорошая, спасибо, но, мне кажется, совсем бы не помешал пример 'hello world':)) а именно, где хранится, как выполняется, компилируется или интерпретируется, какие среды разработки если они есть и, наконец, какое расширение должен иметь файл?:)) спасибо) а ввобще - на первый взгляд синтаксис мне не очень понравился. Если язык претендует на высокую читабельность кода: я не понял, как в нем реализовать логические скобки для разделения порядка и наглядности выражений?

Питон

И хотелось бы узнать про другие операторы, кроме '='. Пример хелловрда есть в статье.

Однако приведу его здесь: print 'Hello World!' Где - приглашение интерпретатора.

Снимет основную часть вопросов. Однако IDE shell'ы упомяну(до конца пункта 2 идет исключительно мое мнение): IDLE - неплохо, но минимализм скучен. PyCrust - очень удачный shell. WingIDE - имеет один недостаток - платность.

Boa Construstor - мощен, однако интерфейс не является интуитивно понятным. Операторы и все все все. В питоне интерактивный хелп, это очень удобно. Вы делаете так: import operator help(operator) и получаете обзор операторов. Расширение.py Один из приятнейших языков, по моему скромному мнению.

Синтаксис чудесен- мне переодически приходиться писать мелкий программки на C и MatLab - на питоне писать приятнее. Его, как я подозреваю, очень любит ученый люд - научных библиотек под него очень-очень много. Пример логических скобок тоже есть в статье: посмотрите раздел операторы внимательней.

Удачного изучения =). GIL - это беда, конечно. Но с другой стороны, ожидать от скриптового (в первую очередь) языка красивой реализации многопоточности довольно сложно. Встроенная возможность (и необходимость) компиляции в байткод.

А так же сохранение этой стадии в виде файла.pyc или.pyo. После чего возможно распространение только байткода без полных исходников. А вот это скорее формальность:) Добраться до исходного кода я всё равно смогу, пусть и с некоторым чуть большим геморроем. Написание же C-шных модулей на питоне - дело не хитрое и зачастую полезное (если, например, надо работать с оборудованием). Чем-то напоминает расширение Visual Basic'а COM-объектами:) Вообще, Питон - это идеальный язык, на мой взгляд, для тех, кто изучает программирование.

Основы Python

Он наиболее близок к псевдокоду по синтаксису:) Он прививает хороший стиль оформления кода, сочетает 3 основных стиля программирования (ОО, процедурный и функциональный), бесплатен (что может быть немаловажно для школ). При этом, в отличии от Паскаля и Бейсика, питон актуален и достаточно распространен. Недавно смотрел скринкаст от создателя IronPython (питон на.NET) Джима Югунина. В качестве иллюстрации к вопросу производительности он продемонстрировал такой пример: 1. Сначала на IronPython запускается один из стандартных тестов производительности (с функцией Ack, но не суть). Тест по сути математический, с рекурсией. Время выполнения теста порядка 12 секунд.

Ключевая функция (та самая Ack) переписывается на C#, как статический метод, а затем вызывается (вообще без проблем) из питона. Результат: 0.8 секунды. Примерно так решается большая часть проблем производительности (во всяком случае те из них, которые не связаны с параллелизмом). Len - это скорее атавизм от ранних версий. Хотя да, логичнее было бы что-то типа a.len. Некий self - это ровно такая же фишка языка, как и отступы, как и специальные методы с двумя подчеркиваниями. По сути во всех ОО-языках такой указатель в нестатическом методе присутствует, только вот в Питоне он передается в явном виде (что, собственно, и отличает метод объекта от функции класса).

Что же касается коммьюнити, то у Руби повезло: появилась компания (37 Сигналов), которая начала его активно продвигать в массы. К сожалению, аналогичного 'двигателя' для Питона (пока) нет. Есть масса компаний, которые его используют для своих разработок, но фактически ни одна из них не делает из этого принцип и не пиарит язык. Добавьте сюда еще средства разработк, коих для Руби масса, а для Питона - раз-два и обчелся. Наиболее приличное, что я видел в то время, когда использовал язык - это Komodo. Но он платный и довольно тормозной. Что же касается отсуствия питоновского рантайма в дистрибутивах линуха и в винде - это не так страшно.

Питон

Для винды, во всяком случае, есть возможность сгенерировать exe'шник, который будет включать интерпретатор питона, ваш байт-код и все необходимые библиотеки. Наверное, это не самое изящное решение, но и на том, как говорится, спасибо. Питон мне изначально понравился. Лаконичный, быстрый, мощный.

Как-то год или два назад поставил попробовать, на винду, так там в дистрибутиве простенький IDE написанный на питоне. Для меня это был шок. Читаемость кода питона - это отдельная история, более читаемого я не наблюдал за всю свою жизнь у реальных ЯП. Воистину стандартизация написания самим создателем языка - это великая вещь, риск которой оправдался на все 100%. Очень радует уже продуманная система пакетов модулей. Самым главным минусом Py для меня являются проблемы с хостингом, пока на каждом сервере есть только PHP.

А так хочется везде видеть py+django ). На самом деле осознание того, что для питона надо (относительно)много условий на хостинге, отталкивает многих от написания простых сайтов на Py. Все новички начинают с PHP, в том числе из-за популярности оного на хостинге. А не написав простого сайта на Py, никогда не напишешь сложного:) я надеюсь моя мысль теперь более ясна. Modpython все более популярен, и это радует.

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

В Глубь Языка Python

Уважаемые форумчане, обращаюсь к Вам за помощью. Купила ребенку книгу из-ва ЭКСМО 'Все путешествия Синдбада' и опечалилась, потому как 4 раза в книге употребляется выражение 'в глубь', причем именно раздельно. Вот примеры предложений: 1. Это настолько прибавило мне сил, что я окончательно пришёл в себя и наугад отправился в глубь острова. Я побрел в глубь острова.

В Глубь Языка Python Купить

Вот почему матросы и купцы никогда не решаются уходить в глубь острова поодиночке. 81) Я не уверена в верности такого написания. Не могу найти доказательств правильности или неправильности. Заранее спасибо. В справочнике Розенталя (Русский язык.

Справочник-практикум) так: 'Пишутя слитно наречия с пространственным и временнЫм значением, имеющие в своем составе существительные верх, низ, перед, зад, высь, даль, глубь, ширь,начало, конец, век: вверх, наверх, внизу, книзу, назад, ввысь, вдаль, вглубь, вширь, вконец, наконец, ввек, довеку, навеки. Эти наречия пишутся раздельно только при наличии в предложении пояснительного слова к указанным существительным: к низу платья, в глубь океана, в даль туманную, в начале осени, во веки веков, на веки вечные.

Ср.: Необходимо повторить курс с начала (от начала). Нужно начинать все сначала (заново, опять, еще раз)'.

Вроде все правильно у вас в книге. Рада, если помогла.

Coments are closed