Monthy Python

Ramhak konung@ic.ru

Xakep Online -> Журнал, номер #017, стр. 017-026-1

Если тебя спрашивают: на каких языках ты пишешь проги, ты скорее всего ответишь, что на бейсике, паскакале, а если особливо крут - на Си и Ассемблере. Но, наконец, в Россию-матушку докатилась и такая фишка, как Интернет. И моментально список доступных языков и средств кодинга увеличился в несколько раз. Чего только стоит многоязыковая (я про кодинг, а не про стишки на китайском языке про Мао Цзедуна) поддержка в Линухе. И уже никто не удивляется, когда человек заявляет, что создает сайты на "движке зопы" (Зопа - это Zope, живущий в сети по адресу www.zope.org, а не то, что ты подумал). :) Но речь пойдет не об этом движке, а языке, на котором он собственно и написан, т.е. о Python.

Летающий цирк Guido van Rossum

Наверное, нет человека на свете, кто не видал бы эту хохму. Так мне ответил один знакомый на вопрос о Монти-Пайтоне. И когда я узнал про то, что существует язык программирования, названный в честь этого телевизионного действа, мне стало интересно: что это за язык и чем он отличается от других подобных (и главное - есть ли там операторы). Первое впечатление ошеломляет - прародителями оказались ABC, SmallTalk и C. А это, согласись, уже не шутки. И монстроподобный ребеночек от таких гигантов должен был получиться отнюдь не таким смешным, как многие нерадивые детишки криворуких программеров. Python унаследовал такие положительные качества, как объектно-ориентированный язык и великолепные типы данных, аналогичные perl`овским. А то, что я увидел в учебнике по питону (который идет в поставке вместе с ним), просто убило меня: в Python`е совсем нет никаких открывающих/закрывающих кавычек, скобочек или слов begin/end. Вместо этого нужные фрагменты исходников отделяются... табуляцией или пробелами, а попросту говоря, отступами от начала строки!!! И никаких точек с запятыми после каждой команды! Каково? Вот простенький примерчик:

>>> x = 0

>>> s = '-'

>>> if not x:

x = 2

s = 'Python is cool! '*2

>>> s

'Python is cool! Python is cool!'

>>> print s

Python is cool! Python is cool!

Назначение команды print, я думаю, понятно даже ежикам, мирно посапывающим сейчас в своих норах. Остальное - набор переменных и оператор условного перехода if. Три знака больше (">>>") - это просто питоновский шелл, который дает юзеру знать, что он еще жив, готов к труду и обороне. Питоновский шелл - это прога, до жути похожая на аналогичные в Unix, которая позволяет удобно работать с питоном (примером шелла может служить командная строка в DOS, однако питон под винды оснащен приятным редактором с подсветкой и прочими фенечками).

В Python`е главную роль играют типы данных, "развитые не по возрасту" по сравнению с другими ЯП (языками программирования). О них я тебе расскажу подробно, чтобы ты со мной согласился. Ты же знаешь: как программер представит данные, настолько ему будет удобно с ними работать. А это в свою очередь определяет и скорость, и "какчество" программы. То, что заняло бы неделю труда на Сях, в PYTHON доступно за пару дней.

Типы данных

Типы данных в Python можно разделить на несколько типов: атомы, списки, "словари" и tuples. С атомами все просто - это числа либо строки. Числовые переменные, как впрочем и все остальные, заводят соответствующим присвоением:

Содержание  Вперед на стр. 017-026-2

Выпуски журнала "Xakep"
Журнал Хакер. Содержание номера #001Журнал Хакер. Содержание номера #002Журнал Хакер. Содержание номера #003Журнал Хакер. Содержание номера #004Журнал Хакер. Содержание номера #005Журнал Хакер. Содержание номера #006Журнал Хакер. Содержание номера #007Журнал Хакер. Содержание номера #008Журнал Хакер. Содержание номера #009Журнал Хакер. Содержание номера #010Журнал Хакер. Содержание номера #011Журнал Хакер. Содержание номера #012Журнал Хакер. Содержание номера #013Журнал Хакер. Содержание номера #014Журнал Хакер. Содержание номера #015Журнал Хакер. Содержание номера #016Журнал Хакер. Содержание номера #017Журнал Хакер. Содержание номера #018Журнал Хакер. Содержание номера #019Журнал Хакер. Содержание номера #020Журнал Хакер. Содержание номера #021Журнал Хакер. Содержание номера #022Журнал Хакер. Содержание номера #023Журнал Хакер. Содержание номера #024Журнал Хакер. Содержание номера #025Журнал Хакер. Содержание номера #026Журнал Хакер. Содержание номера #027Журнал Хакер. Содержание номера #028Журнал Хакер. Содержание номера #029Журнал Хакер. Содержание номера #030Журнал Хакер. Содержание номера #031Журнал Хакер. Содержание номера #032Журнал Хакер. Содержание номера #033Журнал Хакер. Содержание номера #034Журнал Хакер. Содержание номера #035Журнал Хакер. Содержание номера #036Журнал Хакер. Содержание номера #037Журнал Хакер. Содержание номера #038Журнал Хакер. Содержание номера #039Журнал Хакер. Содержание номера #040Журнал Хакер. Содержание номера #041Журнал Хакер. Содержание номера #042Журнал Хакер. Содержание номера #043Журнал Хакер. Содержание номера #044Журнал Хакер. Содержание номера #045Журнал Хакер. Содержание номера #046Журнал Хакер. Содержание номера #047Журнал Хакер. Содержание номера #048Журнал Хакер. Содержание номера #049Журнал Хакер. Содержание номера #050Журнал Хакер. Содержание номера #051Журнал Хакер. Содержание номера #052Журнал Хакер. Содержание номера #053Журнал Хакер. Содержание номера #054Журнал Хакер. Содержание номера #055Журнал Хакер. Содержание номера #056Журнал Хакер. Содержание номера #057Журнал Хакер. Содержание номера #058Журнал Хакер. Содержание номера #059Журнал Хакер. Содержание номера #060Журнал Хакер. Содержание номера #061Журнал Хакер. Содержание номера #062Журнал Хакер. Содержание номера #063Журнал Хакер. Содержание номера #064Журнал Хакер. Содержание номера #065Журнал Хакер. Содержание номера #066Журнал Хакер. Содержание номера #067Журнал Хакер. Содержание номера #068Журнал Хакер. Содержание номера #069Журнал Хакер. Содержание номера #070Журнал Хакер. Содержание номера #071Журнал Хакер. Содержание номера #072Журнал Хакер. Содержание номера #073Журнал Хакер. Содержание номера #074Журнал Хакер. Содержание номера #075Журнал Хакер. Содержание номера #076Журнал Хакер. Содержание номера #077Журнал Хакер. Содержание номера #078Журнал Хакер. Содержание номера #079Журнал Хакер. Содержание номера #080Журнал Хакер. Содержание номера #081Журнал Хакер. Содержание номера #082Журнал Хакер. Содержание номера #083Журнал Хакер. Содержание номера #084Журнал Хакер. Содержание номера #085Журнал Хакер. Содержание номера #086Журнал Хакер. Содержание номера #087Журнал Хакер. Содержание номера #088Журнал Хакер. Содержание номера #089Журнал Хакер. Содержание номера #090Журнал Хакер. Содержание номера #091Журнал Хакер. Содержание номера #092Журнал Хакер. Содержание номера #093Журнал Хакер. Содержание номера #094Журнал Хакер. Содержание номера #095Журнал Хакер. Содержание номера #096Журнал Хакер. Содержание номера #097Журнал Хакер. Содержание номера #098Журнал Хакер. Содержание номера #099Журнал Хакер. Содержание номера #100Журнал Хакер. Содержание номера #101Журнал Хакер. Содержание номера #102Журнал Хакер. Содержание номера #103Журнал Хакер. Содержание номера #104Журнал Хакер. Содержание номера #105Журнал Хакер. Содержание номера #106Журнал Хакер. Содержание номера #107Журнал Хакер. Содержание номера #108Журнал Хакер. Содержание номера #109Журнал Хакер. Содержание номера #110Журнал Хакер. Содержание номера #111Журнал Хакер. Содержание номера #112Журнал Хакер. Содержание номера #113Журнал Хакер. Содержание номера #114