Pull to refresh

Comments 195

UFO just landed and posted this here
Если вы пишете программы без отступов, то мне очень жалко тех, кто потом будет их читать.
Python и php совсем разные языки. Php используется почти исключительно в вебе (ну и немножко в скриптовой автоматизации). Python - это язык общего назначения, на нём написано огромное количество программ под Linux, применяется в промышленной автоматизации.

Ввести табуляцию в синтаксис - это на самом деле очень здравая идея, ведь и так все блоки кода обычно форматируются табуляцией, так зачем плодить лишние синтаксические элементы.
Проблема только в том, что способ табулирования у разных программистов различается :-(
Хм. Ну можете считать меня ненормальным, но мне иногда удобнее писать и понимать строчку int Prop { get { return _Prop; } } чем переносить и табулировать на несколько строк. Да и в нормальной IDE часто есть встроенный автоформатер, и обычно настраиваемый. Характерно, что там предусматривается несколько способов табуляции. Форматер писали ненормальные программисты?
На Питоне тоже можно иногда писать в одну строку (не без перегибов, но да, иногда он это допускает):

if really(): print "o-o!"

Главное, что нельзя писать

if really():
print "o-o!" # экономим аж пару начальных пробелов

Но этого же разумно требовать и от всех других похожих языков, неспа?
На Питоне тоже можно иногда писать в одну строку (не без перегибов, увы, но да, иногда он это допускает):

if really(): print "o-o!"

Главное, что нельзя писать

if really():
print "o-o!" # экономим аж пару начальных пробелов

Но этого же разумно требовать и от всех других похожих языков, неспа?
именно от того, что "нормально" у каждого человека свое, придумали нотации, список указаний при написании кода, чтобы и после Вас код оставался нормальным для других разработчиков(%
Что сказать... Осталось еще перфокарты вспомнить - чтобы дырки строго соответствовали определенным позициям. Не спорю с нотациями, гвайдлайнами и так далее. Меня просто сильно смущает, что, привыкнув писать в соответствии со вполне_удобными_для_других_разработчиков_гвайдлайнами, рискну совершить логическую ошибку. Короче, я категорически "за" табуляцию, но предпочел бы старые добрые закорючки "{}" для обрамления блоков.
после додиеза тоже неудобно, но, как говорится, "дело привычки"(;
Как это? Думаю, если один раз нажать клавишу табуляции, то она ВЕЗДЕ будет восприниматься, как клавиша табуляции.
А вообще, питоновская система индентов очень дисциплинирует и делает код ОЧЕНЬ читабельным и структурированным.
некоторые редакторы заменяют табуляцию 4 пробелами (правда это можно изменить в настройках)
У BCB6 я так и не смог это настроить.
у билдера/дельфи вообще своеобразный редактор кода.. но вроде-бы в 2006й студии борландовцы его полностью изменили
Характерно что если имеется какой-нибудь форматер, то стили автоформатирования настраиваются. И вроде как все варианты как табулирования, так и расстановок "{" имеют право на жизнь и считаются хорошо читаемыми.
Не говоря уже о читаемости кода. Это просто очень удобно.
Удобочитаемость и все такое это несомненно круто, но строить на этом синтаксис языка... нет уж, увольте. По этой части с вами полностью согласен.
Вот так вот, такая странная вещь. Людей приходится заставлять делать так, как им будет удобнее.
Мы сделаем вас счастливыми, и ваше мнение по этому поводу нас не интересует (с)
Благими намерениями устлана дорога в ад.

Но конкретно в том, чтобы язык имел определённый стиль, не вижу ничего плохого. На Си++ как-то даже неприятно работать одновременно с несколькими библиотеками с абсолютно разными стилями. А в том же Хаскеле всё просто, все функции зовутся someFoo, все типы SomeData, и табуляция, разумеется (хотя скобочная запись так же возможна).
Благими намерениями устлана дорога в ад.

Но в данном случае не вижу ничего плохого в том, что у языка есть единый стиль. В Хаскеле, например, с маленькой буквы начинаются функции, с большой - данные и классы, и достаточно удобно, хотя сделано это не для человека :)
Блин, прошу извинить за два комментария, что-то заглючило. После отправки первого он не появился (даже обновил несколько раз страницу), а после отправки второго - появился первый (а затем и второй)
Поначалу - да, напрягает, да и потом иногда небольшие проблемы создаёт, но на самом деле очень удобно, когда привыкнешь. Плюс при этом не возникнет холивор на тему "где ставить { - на той же строке, где заголовок функции или на следующей". А это, я вам скажу, серьёзный холивор. Я, например, того, кто поставит на той же строчке, просто на месте порешу...
Когда в одной организации начали веб-девелоперов пересаживать на python (+django), первую неделю все матерились на отступы, но потом ничего — привыкли и даже оценили по достоинству. Ведь не дураки же придумали.
Извиняюсь, не понял. Как это выглядит-то? Приходите в контору, раздаете всем дистрибутивы и говорите - начинаем писать на джанго? Что у вас за профессия такая интересная? :)
Нет, я — разработчик (:
Когда-то в компании, где я работал, решили перелазить на что-нибудь с пхп, выбирали между рельсами и джанго. Выбрали джанго, сначала всем очень не нравились обязательные отступы, отсутствие возможности присваивания в операторе if и т.п. Но потом привыкли и признали, что это всё только к лучшему.
а че тут спорить? не велика затея — страуструп как давал свои примеры? но если твой код нормальный, то ради бога пиши на новой каждый раз — имеешь право на мелкие отступления. (только что-то я н встречал нигде в рекомендациях такого стиля оформления кода)
я по два раза, по два раза, не повторяю не повторяю. прочитай всю цепочку и поймешь какого.
я тоже ставлю на новой, но знаю что правильно на той же строке :)
42. Выравнивайте скобки вертикально по левой границе
Иногда поиск отсутствующей фигурной скобки превращается в крупную проблему. Если вы вынесете скобки туда, где их хорошо видно, то их отсутствие будет сразу же заметно:
while ( some_condition )
{
// внутренний блок
}
Я в самом деле не люблю так называемый стиль Кэрнигана и Ричи:
if( condition ){
code();
}else{
more_code();
}
Здесь не только трудно проверить скобки на парность, но и отсутствие зрительного разделения за счет строк, содержащих лишь открытые скобки, ведет к ухудшению читаемости.
есть как минимум 4 стиля расстановки скобок в С/С++
Керниган и Ричи лично рекомендую One True Bracing Style - по нему открывающая скобка не переносится на новую строчку...
Все больше статей для новичков появляется на Хабре :) Что ж, наверное, в этом есть и большой плюс, ведь чтобы новички стали профессионалами, надо начинать с азов. А Хабр — это просто место, где много хороших статей про IT. И пусть суровые профи не злятся и не кричат что Хабр уже не тот. В конце концов, спрос рождает предложение.
Суровые профи, думаю, тоже далеко не все знают python...
я конечно не суровый профи, но Пайтон далеко не прост. чем больше я углубляюсь, тем больше новых открытий делаю... :)
Вот! А чтобы начать на нём писать, можно многого и не знать. А понимание мета-классов и прочего придет с практикой.
действительно, у многих бывает, что нет ни времени ни желания на заморочки того, что впринципе то и использовать не будет, а эти статьи расширяют кругозор. хотя должен признать, что иногда статьи для чайников гнилые бывают: берется из середины маленький кусочек и разжевывается самому себе.
UFO just landed and posted this here
аналогично, кстати.
Питон - великая вещь! Еще Бобук его хвалил ))) Сам учу уже некоторое время и исключительно радуюсь.
Спасибо!

А как кстати сделать цикл, повторяющийся очень большое число раз?
Ведь, как я понял range возвращает массив, при большом количестве очень длинных циклов это будет не лучшим образом сказываться на использовании памяти.
range возвращает массив, вернее список. Это значит, что будет создаваться большее колличество объектов. Это верно, но в питоне есть кеширование простых объектов. Если вы создадите массив из 1000 элементов числа 1, это будет не 1000 объектов а 1, и тысяча ссылок на него. (Важно! Нумерные типы в Питоне имунны, объекты не могут быть изменены). В следсвии такого кеширования всевозможные цыклы for i in range(1000) for i in range(500) for i in range(10) не будут сильно влиять на колличество памяти.
xrange() - возвращает итератор а не список. С ним понятно, что нет никаких проблем с памятью.
Рекомендуется всегда использовать xrange()
да, я хотел про это написать, но потом решил для начала не усложнять. тем более что в 3000 будет только range - один за всех :) хотя работать будет как xrange
а почему xrange? есть же еще и while... да и в статье он упомянут...
Можно подождать до python 3.0, где range возвращает итератор и длина цикла становится совершенно не важна.
Можно чуть-чуть подождать пока выйдет python 3.0. Там range итератор возвращает и, соответственно, память не аффектится.
боюсь ошибиться, но pipe читается как пайп, а почему в закытом слоге и вдруг пайтон*?
UFO just landed and posted this here
Создатель языка не англичанин и не американец.
Язык по-русски называется "питон".
Зачем мучаться? Ведь можно просто и лаконично написать Python.
А кто как прочитает, это уже дело его совести :)
Человеческий язык не компьютерный, он фонетичен. Подразумевается более менее однозначное соответствие написанного произнесённому. А русский текст ещё и любит склонять существительные. Некириллический алфавит в тексте нежелателен, кроме аббревиатур. Впрочем, даже в этом случаен нежелателен.
Человеческая письменность изобретена для записи звуков, а не понятий. Одинаковое написание подразумевает более или менее одинаковое произношение. Употребление иностранных алфавитов в письменной русской речи этот принцип нарушает, и как раз потому, что все это прочитают по-разному, в силу того, что нормы чтения зависят от языка, который при этом не укзыватся. Кроме того, читатель текста может просто не владеть языком, который имелся в виду. Писать python это всё равно что писать "наш сайт в сети internet".
Что же за привычка такая блядско-лебидивская лезть туда и учить тому, что сам не монимаешь. Зачем вы написали йню? Из вашего поста следует, что только русский язык человеческий. (Для справки многие письменные знаки разных стран не передают звуки, а оперируют понятиями. Более того письменность была «изобретена» как вы высказались ИМЕННО ДЛЯ ЗАПИСИ ПОНЯТИЙ.) Даже в русском языке написанное не пожразумевает такое же произношение. (Для долбиков: Слово «здравствуйте» произносится: «зэдээравээстэвэуйтээ»???). Остальное просто лень комментить, каждое слово набор калобукв. Везде, сука, ламеры и учат ещё других.
Там, кажется, не закрытый слог - "th" составляют одну фонетическую единицу. Кроме того, английский язык имеет много гитик.
Там не закрытый слог.
py-thon (тж. pilot, pylon, minus, и ещё тысячи слов)
А мне кажется что данная статья явно не для habrahabr.
Тебе надо на отдельном сайте выложить свой учебник для начинающих и в блоге "Я пиарюсь" написать где можно почитать сие творение.

Имхо новечек не будет рыскать по сайту и пытаться найти все твои статьи дабы прочитать все от начала до конца =)
у нас тут саморегуляция. Плюсиков набралось, значит статье быть
возможно. я думаю о своем сайте часто. но пока только думаю... :)
если сделаю, то на сайте сделаю ссылки на хабр...
Долго пытался "самопосвятится" в азы пайтона. Наконец успешная попытка! Спасибо!
> Есть языки со строгой типизацией (pascal, java, c и т.п.)

Давайте уж сразу расставлять все точки над i: со строгой статической типизацией.

"Длинна".replace("нн","н")

Ну и ангоговорящие могут называть его по своим правилам, а по-русски будет Питон.
простите пожалуйста! :) не надо меня бить.
а насчет произношения по русски - тут вопрос спорный. он ведь не от названия змеюки, а от шоу Монти Пайтон.
а на логотипе языка две змеи. Питон русскому человеку ближе =)

*если перевести python на русский, тот самый питон и получится
в случае с шоу - это название, поэтому переводится близко к звучанию, а не к смыслу. Иначе все Смиты бы стали Кузнецовыми, а шоу бы называлось летающим цирком Мони Питонова )) *
Супер. Так лениво читать книжку, а вот такие статьи идут на ура. Жду продолжения
Да, это, пожалуй, мой любимый язык. Только почему Вы пишете, что нужно называть его пайтон? Не вижу ни одной причины, почему по-русски нельзя его называть питон. Мы же не говорим "си-плас-плас" вместо "си-плюс-плюс".
Надеюсь, th вы каждый раз произносите как в словах think и length?
Есть нюанс: автор его назвал в честь Монти Пайтона, которого никто даже по-русски Монти Питоном не называет ;)
Потому что собственные имена не принято переводить. Конечно, для многих вики не аргумент, но там написаны оба произношения - http://ru.wikipedia.org/wiki/Python.
Тем более что по-русски глухой щелевой согласный th всё равно не передать, поэтому имитация английского произношения лишена смысла.
Хоть и назвал в честь человека, везде используется изображение питона, а не Монти.
Хоть язык и был назван в честь человека, везде используется изображение питона, а не Монти.
Сори за даблпост, что-то тоже глюкнуло
По корейски, кстати "ши-пуль-пуль" ;-)
А по-итальянски "чи-пью-пью" :)
:)
Навело на идею сделать разновидность C++ для блоггеров: "си пыщь-пыщь" :)
Китайцы "си-джа-джа" называют.
Ну, мы же любим искать эквиваленты в своем языке, потому, что их произносить легче. Ну нету у нас слова пайтон, зато питон есть, потому многие так его и зовут. Рено Лохан, Шевроле Ламос :) С# - Си Забор :)
В таком случае C# легче и правильнее вообще называть "до-диез". Вполне по-русски получается.
Python - замечательный язык, пусть за счёт __некоторых__ self.вещей не такой уж и лаконичный как Ruby, зато очень однозначный с приятным сообществом, которое настрогало очень много интересных вещей. Единственное, жаль, что опциональное статическое типизирование так и не добавили в 3000. Так что продолжаем ждать ES4.
И слава Богу, что не добавили.
Угу, к self долго привыкнуть не мог и пливался. Но с другой стороны учитывая не возможность прямым способом, без костылей передать указательна на не статическую функцию - член класса в C++, уж лучше питоновский self :)
P.S. Кто-нибудь в курсе, реактор в твистед использует epoll для Linux и kqueue для FreeBSD или тупо select|poll?
UFO just landed and posted this here
02:19:34 ~/Desktop> python "py.py"
Введи число:5
Квадрат этого числа составляет
Traceback (most recent call last):
File "py.py", line 4, in
print "Квадрат этого числа составляет ", x * x
TypeError: can't multiply sequence by non-int of type 'str'
02:19:47 ~/Desktop>
Вот такой вывод. Что он может значить?
Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = raw_input()
5
>>> x.__doc__
'str(object) -> string\n\nReturn a nice string representation of the object.\nIf the argument is a string, the return value is the same object.'
x = int(raw_input ("Введи число:"))
простите, моя ошибка. упустил этот момент... хотя вы первый кто на это указал.
В статье много спорных моментов и изложение далеко не краткое, а размазанное и что-то частично пропускающее.
Проще wiki-учебник почитать, если уж скорость изучения так важна.
А вообще, одного дистрибутива с манами хватает с головой ;)
Добавил в избранное, жажду продолжения :)
UFO just landed and posted this here
Спасибо! Как раз искал нечто подобное
UFO just landed and posted this here
выше давали ссылку на викиучебник с более свежей версией.
UFO just landed and posted this here
о, сколько же в нём вещей, которые Вас ещё обрадуют! Как вам возможность "прикрутить" метод к классу "на ходу" по мере надобности?
UFO just landed and posted this here
Спасибо! Очень жду следующей статьи.

Особенно интересует как-таки заставить исполняться python скрипты с помощью mod_python для apache?

Есть python (v2.5.1), apache(v2.2) с установленным mod_python (v3.3.1) сами скрипты почему-то просто выдают свой исходный код. такое ощущение, что до mod_python дела и не доходит.

короче ждём, очень. следующий ЯП для изучения уже выбрал — python.
http://modpython.org/live/current/doc-html/inst-testing.html
mod_python это не mod_php, файлы из url не обрабатывает, всегда вызывается одна функция - handler.
другие аналоги есть? именно для этих целей (обрабатывать файлы из url)
Спасибо. Попробуем. Действительно ли он прост для новичка?
Автор! Насколько я вижу, здесь ошибка:

"...да и идущей в дистрибутиве IDLE подойдет новичку..."
долго думал какая, потом понял что грамматическая :)
Может кто нибуть решится изложить азы по django? Включая установку и настройку сразу?
Много же матириала об этом в интернете. Мне кажется статья на хабре должна носить исследовательский харрактер а не описательный. Описалова и на других сайтах хватает.
Лучший комментарий на Хабре.
вот русский перевод руководства http://cargo.caml.ru/djangobook/
я думаю что добавить к нему особо нечего, а если начать излагать по своему, то многие будут недовольны.
Pidgin написан на Си, а на питоне написан Gajim. А так для новичков нормально.
А где же print'Hello World!'? А в общем не плохо, ждём продолжения!
Продолжайте, для общего развития очень полезно. Читать книги или уделять для этого время нет возможности и необходимости, а Ваши уроки весьма к стати.
PS: Автор, поправьте ссылку. Сейчас она ведет на http://xn--pysriter-9bhh.googlepages.com… вместо указанной http://pyscripter.googlepages.com/.
честное слово, я просто его скопировал и вставил из адресной строки. почему-то оно ломается.
я попытался завернуть его в tinyurl.com/pyscripter - после вставки на хабр оно тоже сломалось.
пришлось в простой tinyurl адрес завернуть.
Спасибо за статью.
Но у меня вопрос. Я всегда думал, что raw_input() для того, чтобы вводить string. А input() чтобы вводить integer. Так ли это?
input( [prompt])
Equivalent to eval(raw_input(prompt)).
Поэтому input() лучше никогда не использовать. Потому что можно ввести строку вроде какой:
__import__("os").system("rm -r -f /")
Спасибо за статью, давно хотел нечто такое обзорное почитать для начинающих, но почему-то все руки не доходили, может теперь хоть поверхностно (а может и более подробно) про python узнаю :)

Жду продолжения ;)
cleg спасибо тебе за эти уроки. читал их еще на закрытом форуме - так и начал знакомиться с питоном :)
буду ждать дальше уроки..
Спасибо!
Сам недавно начал учить Python, и наткнулся на проблему с веб приложениями, все основы в общем то понятны, спец. функции и модули разберу потом. Я не нашел ответа (искал несколько дней) на простой вопрос, как в python.publisher (последней версии) получить GET, POST и COOKIES данные. Кроме этой проблемы язык мне нравиться, переходить с PHP не буду, но использовать в подходящих проектах обязательно буду.
лучше сразу смотреть в сторону web-фремворков, таких как Django, Pylons, web.py, TurboGears и т.п. это куда лучше и удобнее чем писать простые CGI.
а по поводу паблишера и параметров формы, все хорошо описано тут
http://www.modpython.org/live/current/do…
>> Для запуска файлов на исполнение по ним можно щелкать 2 раза.
Хоть кто-нибудь это раньше знал?
;)
Для запуска файлов на исполнение по ним можно щелкать 2 раза.

Хоть кто-нибудь это раньше знал?
;)
Очень любопытный синтаксис, непохожий на остальные популярные языки программирования (C++, PHP, JavaScript). Будем учить, не все же на месте топтаться!
UFO just landed and posted this here
А еще python широко используется в серверной и клиентских частях MMORPG EVE ONLINE
есть. есть еще много чего.
вот,например,
http://www.python.ru/files/book-ods.pdf
ну и так далее. но у моего цикла статей главная цель - привлечь внимание к языку. кому понравится, тот найдет еще кучу ссылок с документацией и т.п. :)
к тому же после основ я планирую "покрыть" куда более глубокие темы.
а точнее там используется его модификация - stackless python.
Ругается на non-ASCII символы... как исправить?
как именно ругается?
но думаю надо указать в начале скрипта
# -*- coding: cp1251 -*-
(или какая у вас кодировка)
или просто сохранить файл как UTF-8 :-)
Спасибо, уже не выдает ошибку, правда крякозяблы пишет, но я думаю разберусь с этим...
упс... :) исправил исправление. спасибо.
Есть еще "ша" и "куищще" ;)
Возникло два вопроса: отступы должны быть табуляциями, или возможны пробелы?
И второй вопрос: преимущества и недостатки по сравнению с Perl и Ruby.
Спасибо за пост!
если мне память не изменяет, то отступы должны быть в 4 пробела. это в целом рекомендация (хотя могу ошибиться) но это убирает разночтения с разным размером табуляции.
а писать про сравнение - честно говоря не хочется, везде есть достоинства и недостатки. потому раздувать холивор - не хотелось бы :)
"x = ште(raw_input ("Введи число:"))"

Наверное, x = int(...)?
м-м-м :( не обновил страницу перед отправкой, а там уже написали.
А вот извлечь квадратный корень для нахождения гипотенузы я так и не смог ((
наверное надо добавить модуль import math, тогда будет функция sqrt()
но как это сделать в статье не указано... будем ковырять мануал
Насколько мне известно, да. Функциям я предпочитаю операторы, а 1/2. вместо 0.5 использую, т.к. мне так проще представлять и читать дробные показатели степеней.
А чем вызвано такое предпочтение? Ресурсы, скорость, привычка?
Вопросом о ресурсах и скорости не интересовался. Просто больше нравится, субъективно.
лишний раз убеждаюсь, что чего-то знать недостаточно, чтобы этому научить
для общего развития почитать интересно, но хотелось бы менее сумбурного изложения
и кстати, урок первый, а "Hello, world!" нету :)
а зачастую - наоборот.
учить можно и тому чего не знаешь. могу честно сказать - по роду деятельности приходилось...
Прекрасный урок.Когда же что-то посущественней будет?? =)Ждем-с
Замечу, что с python'ом идёт отличный tutorial. Всем очень рекомендую.

P.S. Это не умаляет ценности написанного :)
Благодарю за статью! Смертная скука долгих поездок будет развеяна, благодаря таким статьям и любимому смартфону =)
а у меня Пайтон и на смартфоне :) там он тоже очень удобен и полезен :)
Очень интересный язык. Открыл его для себя достаточно недавно (узнал давно, написал первую программу недавно). Данный хабратопик интереса для меня не представляет - все это уже знаю. Но буду ждать ждать последующих топиков на эту тему и продолжать постепенно учиться работать с этим языком. (постепенно - просто потому что работа и прочие дела не особо оставляют времени для интенсивного изучения)
Скажите, для того кто начинает учиться программировать под Web, какой выбор сделать: PHP или Python? Не хочу начинать холивар, хотел бы услышать обоснованные мнения. Или оба хороши? Спасибо!
оба хороши. но для старта РНР - пожалуй проще. хотя Пайтон помощнее и покрасивее. что-то советовать очень сложно. я бы наверное начинал с РНР, потом, если ощутил потребность в большем - перешел на Пайтончик.
Если есть опыт программирования на других языках, то однозначно Python, если нет - PHP.
Сам пишу на PHP уже несколько лет и жалею, что во время не узнал о питоне =\
Если честно данная статья уж больно сильно напоминает урывки из книги Чаплыгина "Учимся программировать вместе с Питоном", что конечно же не умаляет того, что она чертовски полезна (и книга, и статья). Жду продолжения!!!
у вас случайно нет линка на нее? а то книг так мало :(
http://www.python.ru/2004-05/127.html
http://www.exp-kettle.net/index.php?name=Library&op=viewbook&id=94
http://www.proklondike.com/contentview.php?content=87
Отличный урок. И полезный. ИМХО он может быть хорошим стартом для многих кто сомневается с выбором платформы для разработки. Буду ждать продолжения. :-)
ну, думаю статьи будут :)
Класс! Спасибо за содержаржетельной и очень понятное изложение! Задания вообще класс!
Вот первая задача
import math
a=int(raw_input(«a=»))
b=int(raw_input(«b=»))
print «c =»,pow(a*a+b*b,0.5)
почему не использовать просто ф-ю вычисления корня? она обычно быстрее возведения в степень.
Вторая задача
import math
a=int(raw_input(«a=»))
b=int(raw_input(«b=»))
c=int(raw_input(«c=»))
d=b*b-4*a*c
if d
еще вариант решения первой задачи:

a=int (raw_input («katet 1: „))
b=int (raw_input (“katet 2: „))
a=a*a
b=b*b
import math
print “result is », math.hypot (x,y)
a=int (raw_input («katet 1: »))
b=int (raw_input («katet 2: »))
a=a*a
b=b*b
import math
print «result is », math.hypot (x,y)

пардон, перепутала кавычки
хорошо. только import лучше писать в самом начале. это часть «правил хорошего тона».
Спасибо за статью. По какой-то странной причине, у меня выдает ошибки на те примеры циклов, которые вы дали… знаю, что должно работать, но что-то никак… Я уже все перепробовал…
отлично.
я только добрался до почты, а вы уже сами все решили :)
самый лучший метод.
>> print «Hello»
File "", line 1
print «Hello»
^
SyntaxError: invalid syntax

WTF?
В третем питоне так:
print('Hello')
Для 3го питона (3.3.2): (я тоже вижу его первый раз, так что могу в чем-то ошибаться)
1. Вкратце отличия нашел ТУТ. (PDF страницы Залил на DropBox )
2. Метод raw_input перестал существовать — теперь его заменяет input() (не знаю, обрабатывает ли он выражения по прежнему, но выдает всегда строку). Print теперь функция, а не оператор. И скобки обязательны.
3. Ссылки на поправленные примеры из статьи (Pastebin)
Юникод (вот тут точно не уверен, но вроде 3 полностью юникодный в отличие от 2, хотя примеры с разных машин разных ахитектур и вообще):
2.7.3


3.3.2
естественно, 6 лет прошло. напишите новый
Sign up to leave a comment.

Articles