LINUX.ORG.RU

Программирование на Python: Часть 1. Возможности языка и основы синтаксиса

 


0

0

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

>>> Подробности

★★★

Проверено: boombick ()

Вспоминается о задаче «прострелить себе ногу»

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

anonymous ()

<troll_mode>
Вот, помню, когда-то во времена ДОС и 5дюймовых дискет народ матерился на куВасик - мол, интерпретируемый язык, тормозит (компилятор позже появился).

Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются Ъ - ума не приложу.
</troll_mode>

Steplton ★★★★★ ()
Ответ на: комментарий от Steplton

Вероятно потому, что сейчас не времена ДОСа и пятидюймовых дискет

boombick ★★★★★ ()
Ответ на: комментарий от Steplton

Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются Ъ

а считается? имхо это всегда была замена bash-скриптинга.

los_nikos ★★★★★ ()

что-то уж больно нубская статья

dotbg ★★★★ ()
Ответ на: комментарий от dotbg

Мне кажется, что глупо ожидать сурового python-хакинга от статьи с заголовком «основы синтаксиса»

boombick ★★★★★ ()
Ответ на: комментарий от anonymous

Python:

You shoot yourself in the foot and everything goes so smoothly that you go ahead to to shoot yourself in the other foot then your legs, then your torso and then your head. Problem solved.

Gukl ★★ ()

Правильно ли я понимаю, что надо забить на веб-сферу и переходить на пайфон?

Означает ли это тогда, что софтверный отдел IBM EE/A - самый никудышный и никому не нужный? (Ну кроме, сами понимаете, как софт от IBM типа «продаётся».)

Bioreactor ★★★★★ ()
Ответ на: комментарий от Steplton

>Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются Ъ - ума не приложу.

Быстро пишется, накладные расходы меньше.

anonymous ()

Что может питон из того, чего не может паскаль?

yantux ()
def foo(delimoe, delitel):
	return delimoe // delitel

жуть. qbasic возвращается

dizza ★★★★★ ()
#функция, выполняющая деление нацело – с помощью оператора //
def foo(delimoe, delitel):
	return delimoe // delitel

print divide(50,5)                         # результат работы: 10
print divide(delitel=5, delimoe=50)      # результат работы: 10

офигенный пример определения и вызова функции для новичков

ei-grad ★★★★★ ()
Ответ на: комментарий от yantux

Что может питон из того, чего не может паскаль?

Эта статья для тебя. )

ei-grad ★★★★★ ()
Ответ на: комментарий от Steplton

потому что логику гуя лучше делать на высокоуровневом языке

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от VladimirMalyk

>потому что логику гуя лучше делать на высокоуровневом языке
Это как раз понятно... Зачем интерпретируемый?
Вот тута выше сказали, что накладные расходы меньше - меня сейчас будут бить, но лучше б уже в Лазарусе ваяли. Ещё быстрее пишутся на паскакале всякие морды, и, думаю, всё ж быстрее питона будут работать.

P.S. Сам освоил Qt.

Steplton ★★★★★ ()
Ответ на: комментарий от ei-grad

функция «дивиде» с аргументами «делител» и «делимоэ» или функция «дивайд» с аргументами «дилитл» и «дилимоу»? :)

ubuntulover ()

а вообще хуже питона ничего нет, в попытке написать простого ирц-бота пришлось сильнее попотеть при отладке, нежели бы использовался чистый Си — эта скотина любит умалчивать опечатки или какие-то полные глупости, если они во время запуска не входят в выполняемый code-path, в итоге оно валится посередине работы, СОБАКА, МИНУТУ ПОДКЛЮЧАЛСЯ к ИРЦ-СЕТИ, чТОБЫ узНАТЬ, что я ОПЕчатался в имени ФУНКЦИИ, а ЧТО если я буду писать приложение ПО УПРАВЛениЮ кардиостимулятором или ядерНЫМ рЕАКТОРОМ? иначе можно сделать вывод, что пейтон пригоден только для поделий, которые не делают никкакой полезной работы — нафиг тогда оно вообще не нужно?!1

а ещё он любит валится в гноме!1

плохие воспоминания о питоне

будущее за моно!11 хайль!1

ubuntulover ()
Ответ на: комментарий от ubuntulover

да и ещё стадантрная библиотека — тупая бессмысленная каша

чего стоят только разные naming conventions

ubuntulover ()
Ответ на: комментарий от ubuntulover

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

ubuntulover ()
Ответ на: комментарий от ubuntulover

Не, ну я, конечно, не фанат Питона, но тесты-то писать на любом языке надо! Думаю, до ядерного реатора вас просто не допустят.

Gukl ★★ ()
Ответ на: комментарий от ubuntulover

а вообще хуже питона ничего нет, в попытке написать простого ирц-бота пришлось сильнее попотеть при отладке, нежели бы использовался чистый Си — эта скотина любит умалчивать опечатки или какие-то полные глупости, если они во время запуска не входят в выполняемый code-path, в итоге оно валится посередине работы, СОБАКА, МИНУТУ ПОДКЛЮЧАЛСЯ к ИРЦ-СЕТИ, чТОБЫ узНАТЬ, что я ОПЕчатался в имени ФУНКЦИИ, а ЧТО если я буду писать приложение ПО УПРАВЛениЮ кардиостимулятором или ядерНЫМ рЕАКТОРОМ? иначе можно сделать вывод, что пейтон пригоден только для поделий, которые не делают никкакой полезной работы — нафиг тогда оно вообще не нужно?!1

1) use ide, Luke

2) unittesting is good :)

shty ★★★★★ ()
Ответ на: комментарий от ubuntulover

да и ещё стадантрная библиотека — тупая бессмысленная каша

чего стоят только разные naming conventions

ну не осилил - так и скажи, нечего прятаться за отмазками

shty ★★★★★ ()
Ответ на: комментарий от d0a1d0b5d180d0b3d196d0b9

NameError: name 'divide' is not defined

конечно, правильно надо так:

#функция, выполняющая деление нацело – с помощью оператора //
def foo(delimoe, delitel): 
   return delimoe // delitel 
 
print foo(50,5)                         # результат работы: 10 
print foo(delitel=5, delimoe=50)      # результат работы: 10 
shty ★★★★★ ()
Ответ на: комментарий от Steplton

>потому что логику гуя лучше делать на высокоуровневом языке

Это как раз понятно... Зачем интерпретируемый?

чтобы генерить можно было на лету

shty ★★★★★ ()
Ответ на: комментарий от Steplton

>мол, интерпретируемый язык, тормозит

Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются Ъ


Питон до сих пор без JIT/etc?

Deleted ()
Ответ на: комментарий от ubuntulover

>СОБАКА, МИНУТУ ПОДКЛЮЧАЛСЯ к ИРЦ-СЕТИ, чТОБЫ узНАТЬ, что я ОПЕчатался в имени ФУНКЦИИ, а ЧТО если я буду писать приложение ПО УПРАВЛениЮ кардиостимулятором или ядерНЫМ рЕАКТОРОМ?

Умоляю, НЕ НАДО!!!

anonymous ()
Ответ на: комментарий от ubuntulover

какая категоричность. а народ работает. Очень удобный язык, когда не хочется тратить много времени на разработку, а результат нужен. Т.е., когда программа - это не цель, а средство. Конечно, на ядерный реактор не пустят, так и не надо - у каждого языка свои задачи. Но, кстати, программку по управлению роботом, который в экспериментальной камере таскает мишени, с ГУИ на wxPython, я на нём видел. Прекрасно работает.

anonymous ()
Ответ на: комментарий от VladimirMalyk

>потому что логику гуя лучше делать на высокоуровневом языке

А при чём тут питон. Быдловатость языка вовсе не подразумевает его высокоуровневость

Led ★★★☆☆ ()
Ответ на: комментарий от mikhalich

Цитата: «высокая скорость выполнения (сравнимая с компилируемыми языками) за счёт увеличения потребления памяти (для хранения результатов компиляции) и затрат времени на компиляцию»

Steplton ★★★★★ ()
Ответ на: комментарий от Steplton

или я не понял иронию или

«JIT используется в реализациях Java, Microsoft .NET. Языки Perl, Python и подобные имеют ограниченные или неполные JIT.»

mikhalich ★★ ()
Ответ на: комментарий от ubuntulover

чета вы загнули с поливанием. самые мажорные софты по 3д-графике: maya, xsi, houdini, nuke - все имели свой собственный скриптовальный язык

и тут в них встроили питон. вопрос - нафига? по вашему - хелловорды трехмерные делать?

anonymous ()
Ответ на: комментарий от anonymous

> чета вы загнули с поливанием. самые мажорные софты по 3д-графике: maya, xsi, houdini, nuke - все имели свой собственный скриптовальный язык

и тут в них встроили питон. вопрос - нафига? по вашему - хелловорды трехмерные делать?

ничо не имею против встраивания как языка для скриптования. но оно же метит и на standalone apps

ubuntulover ()
Ответ на: комментарий от shty

> ну не осилил - так и скажи, нечего прятаться за отмазками

ха-ха, «не осилил» — это стандартная отмазка тролля, когда потроллить хочется, а сказать нечего

давай я тоже построю свою библиотеку, полную недоразумений, хаков и дебилизма, и заставлю тебя её учить, а если скажешь свою «фу, какая мерзость», також скажу «не осилил!»

ubuntulover ()
Ответ на: комментарий от shty

>> потому что логику гуя лучше делать на высокоуровневом языке

Это как раз понятно... Зачем интерпретируемый?

чтобы генерить можно было на лету

Вот тут вот поподробнее. Что значит «генерить на лету» в плане ГУЯ? Чего здесь не могут неинтерпретируемые системы?

Тем более что умные дяди давно уже знают, что ГУЙ должен храниться и извлекаться из XML-подобных файлов, а типизация и «высокоуровневость» системы исполнения тут уже побоку

ubuntulover ()
Ответ на: комментарий от ubuntulover

что стэндэлон, что встроенный - в чем разница? в любом случае основными вычислениями занимается код на с/с++, а питон - всего лишь простой интерфейс к сложным сущностям.

anonymous ()
Ответ на: комментарий от anonymous

> в любом случае основными вычислениями занимается код на с/с++, а питон - всего лишь простой интерфейс к сложным сущностям.

какой-то дзен-буддизм

ubuntulover ()
Ответ на: комментарий от Steplton

>Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются Ъ - ума не приложу.

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

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

AVL2 ★★★★★ ()
Ответ на: комментарий от ei-grad

Нет, мне бы сравнительный пример кода паскаля и питона, который раскрывает преимущество питона над паскалем.

yantux ()
Ответ на: комментарий от ubuntulover

> а вообще хуже питона ничего нет

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

плохие воспоминания о питоне

А собственно, о какой версии оного «плохие воспоминания»?

будущее за моно!11 хайль!1

Фраза аки диагноз, предварительный:)

Mercenary_Mercury ()
Ответ на: комментарий от Steplton

>Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются Ъ - ума не приложу.

Потому, что упал уровень знаний программиста. Зачем писать на с/спп или паскале если можно написать на питоне или джаве? Если бы сегодня еще и подогнали вот тот старый бейсик - так тут все бы на него ломанулись. Я уж об асемвблере не говорю вообще. Для многих это вообще тарабарский язык.

Некоторые привыкли тыкать мышкой и даже не представляют сопоставимость скорости работы интерпретатора команд в процессоре и интерпретатора бит-кода в памяти. О рас-кас тут даже вообще никто не слышал.

VitS ()
Ответ на: комментарий от Steplton

>Почему сейчас гуи (а частенько и логика программы) на интерпретируемом питоне считаются
Мода.
Те, которые считают себя небыдлом, но неосилившие Lisp, тоже хотят повыёживаться и писать программы на чём-то модном.
Опять таки пиара вокруг Питона много, но никто кроме «элинтного небыдла» им не пользуется, можно пальцы погнуть.

anonymous ()
Ответ на: комментарий от shty

>чтобы генерить можно было на лету
Никто не мешает это делать для java/mono

grim ★★★★ ()
Ответ на: комментарий от Mercenary_Mercury

> А собственно, о какой версии оного «плохие воспоминания»?

2.5

Версия 3000 таки внезапно стала лучше? Я слыхал, это был большой фейл и разочарование.

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

Пример из жизни не читал? И этот твой комментарий полностью описывает себя

Фраза аки диагноз, предварительный:)

Ну и что ты имеешь против моны как _среды для программирования_ (оставим в сторону политическое-лицензионное нытьё)? Моно сакс? «Безосновательное заявление, напоминающее мне сверхобедненый уран, также бедное на конкретику», не иначе

ubuntulover ()
Ответ на: комментарий от Mercenary_Mercury

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

Кстати, «так же» в данном случае пишется раздельно. Так-то!

ubuntulover ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.