Найти в Дзене

Особенности Python (из "Укус Питона")

A Byte of Python (Russian) Версия 2.02 Swaroop C H (Перевод: Владимир Смоляр) Приведённые в книге особенности Python через призму моего понимания. Примеры выделены курсивом. 4.1.1 Простой Python был выбран мною за снисходительное отношение к новичкам, которое позволит не застревать на нюансах синтаксиса, а с разбегу нырнуть в процесс разработки. 4.1.2 Лёгкий в освоении Код на Python похож на псевдокод (эскиз работы программы без нюансов синтаксиса языка). 4.1.3 Свободный и открытый Различные добавления (пакеты) в открытом доступе от энтузиастов помогают найти инструменты под многие частные обстоятельства. 4.1.4 Язык высокого уровня Доступен для понимания человеком, с программиста снимается головная боль насчёт реализации работы программы сразу в машинном коде. 4.1.5 Портируемый Работаю только на Windows, поэтому тут личного опыта не имею. Python можно использовать в GNU/Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion,
Оглавление

A Byte of Python (Russian) Версия 2.02 Swaroop C H (Перевод: Владимир Смоляр)

Приведённые в книге особенности Python через призму моего понимания. Примеры выделены курсивом.

4.1.1 Простой

Python был выбран мною за снисходительное отношение к новичкам, которое позволит не застревать на нюансах синтаксиса, а с разбегу нырнуть в процесс разработки.

4.1.2 Лёгкий в освоении

Код на Python похож на псевдокод (эскиз работы программы без нюансов синтаксиса языка).

4.1.3 Свободный и открытый

Различные добавления (пакеты) в открытом доступе от энтузиастов помогают найти инструменты под многие частные обстоятельства.

4.1.4 Язык высокого уровня

Доступен для понимания человеком, с программиста снимается головная боль насчёт реализации работы программы сразу в машинном коде.

4.1.5 Портируемый

Работаю только на Windows, поэтому тут личного опыта не имею.

Python можно использовать в GNU/Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE и даже на PocketPC!

4.1.6 Интерпретируемый

С другими языками не знаком, поэтому распишу в собственном представлении после прочтения поста https://tproger.ru/translations/programming-concepts-compilation-vs-interpretation/.

Отсутствует необходимость в переводе написанного кода в машинный код (который свой собственный для каждой исполняющей системы), что:

  • облегчает внесение изменений;
  • даёт возможность переноса на разные системы.

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

4.1.7 Объектно-ориентированный

Означает гибкость в работе через многократное использование пространства переменных и функций, объединённых по (под) некоторым признакам. Такое объединение позволяет представлять некий набор данных как уникальный случай некого класса (объекта). С этим конкретным случаем можно проводить заранее задекларированные действия (воздействовать на него функциями, предназначенными для этого объекта).
Представьте, что на лугу пасутся коровы. Вы можете: напоить стадо; подоить стадо; отогнать от них муз; пустить стадо на котлеты. Луг - это пространство переменных и действий над ними. Теперь, когда Вы видите :

  • на лугу;
  • что-то рогатое, парнокопытное, жующее траву.

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

4.1.8 Расширяемый

Можно создать чудовище Франкенштейна (исключительно в благих и исследовательских целях, конечно же), работающего то на Python, то на C, C++ и проч.
Голова и туловище - на Python, ноги для быстрого бега и руки для сильных ударов - на С.

4.1.9 Встраиваемый

Обратная от 4.1.8 ситуация. Ранее каркасом/скелетом программы был рефлексирующий Python, а теперь - что-то быстрое, хлёсткое и безынерционное. Но требуется к этой мощи добавить поворотливость и способность маневрировать.
Когда нужно: ударить, подумать, удрать, подумать (переставить и дополнить по собственному соображению).