Особенности ЯП Python3

Базовые особенности

Python2 и Python3

Имеется два похожих языка программирования с разным синтаксисом — Pythoh2 и Python3. Python2 — более новый язык, из которого выброшено то, что показалось неудачным в Python2

Интерпретатор

Python — интерпретируемый язык, поэтому очень много ошибок возникает в процессе выполнения, а не в момент лексического/синтаксического анализа. Например, наличие или отсутствие имени в пространстве видимости проверяется в момент использования этого имени:

   1 Python 2.7.8 (default, Nov 20 2014, 14:29:22) 
   2 [GCC 4.9.2 20141101 (ALT Linux 4.9.2-alt1)] on linux2
   3 Type "help", "copyright", "credits" or "license" for more information.
   4 >>> a*2
   5 Traceback (most recent call last):
   6   File "<stdin>", line 1, in <module>
   7 NameError: name 'a' is not defined
   8 >>> a=2
   9 >>> a*2
  10 4

Значащие отступы

Вместо операторных скобок используется одинаковый отступ всех операторов в блоке (это называется «блок с отступом»).

   1 for i in range(10):
   2     n = 3*i**2 + 2*i + 7
   3     print (i,n)
   4 print "Done"

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

Связывание

Значение любого питоновского выражения — это объект. Объект можно связать с помощью имени или в качестве элемента составного объекта.

«Списки»

Тип данных «list» в питоне — это динамический массив связей. Тип объекта может быть любым, но поскольку любая связь имеет одинаковое внутреннее представление, сложность индексации в объекте типа list — O(1). Динамическая реогранизация массива при его значительном увеличении/уменьшении происходит прозрачно для программиста.

Словари

Цикл с итерируемым объектом

Неявная динамическая типизация (duck typing)

Универсалные логические выражения

Наличие современных программных конструкций

Динамическая объектная модель

Строки документации

Сравнение с другими языками

Паскаль и Си