Python — мультипарадигмальный высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Язык является полностью объектно-ориентированным в том плане, что всё является объектами. Необычной особенностью языка является выделение блоков кода отступами. Синтаксис ядра языка минималистичен, за счёт чего на практике редко возникает необходимость обращаться к документации. Сам же язык известен как интерпретируемый и используется в том числе для написания скриптов. Недостатками языка являются зачастую более низкая скорость работы и более высокое потребление памяти написанных на нём программ по сравнению с аналогичным кодом, написанным на компилируемых языках, таких как C или C++.
++ — компилируемый, статически типизированный язык программирования общего назначения.
Система типов — совокупность правил в языках программирования, назначающих свойства, именуемые типами, различным конструкциям, составляющим программу — таким как переменные, выражения, функции или модули. Основная роль системы типов заключается в уменьшении числа багов в программах посредством определения интерфейсов между различными частями программы и последующей проверки согласованности взаимодействия этих частей. Эта проверка может происходить статически или динамически, а также быть комбинацией обоих видов.
Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.
Гвидо ван Россум — голландский программист, прежде всего известный как автор языка программирования Python. Среди разработчиков Python Гвидо известен как «великодушный пожизненный диктатор» проекта, что означает, что он продолжает наблюдать за процессом разработки Python, принимая окончательные решения, когда это необходимо. С июля 2018 года Гвидо ушёл в постоянный отпуск от диктаторства, оставив за собой право быть обычным разработчиком.
Lua — скриптовый язык программирования, разработанный в подразделении Tecgraf Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си.
«Мо́нти Па́йтон» — комик-группа из Великобритании, состоявшая из шести человек. Благодаря своему новаторскому, абсурдистскому юмору участники «Монти Пайтон» находятся в числе самых влиятельных комиков всех времён. Влияние, оказанное коллективом на жанр комедии, сравнивают с влиянием, оказанным группой The Beatles на поп- и рок-музыку. Группа известна во многом благодаря юмористическому телешоу «Летающий цирк Монти Пайтона», выходившему на BBC в 1969—1974 годах; также она выпустила 4 полнометражных фильма, выступала с концертами, выпускала музыкальные альбомы, книги, мюзикл. Большинство участников группы после её распада в 1983 году занялось успешной сольной карьерой, но затем неоднократно сходилось вновь для реализации совместных проектов.
Сопрограмма — программный модуль, особым образом организованный для обеспечения взаимодействия с другими модулями по принципу кооперативной многозадачности: модуль приостанавливается в определённой точке, сохраняя полное состояние, и передаёт управление другому, тот, в свою очередь, выполняет задачу и передаёт управление обратно, сохраняя свои стек и счётчик. Наряду с фиберами, сопрограммы являются средством обеспечения «легковесной» программной многопоточности в том смысле, что могут быть реализованы без использования механизмов переключений контекста операционной системой.
Присва́ивание — механизм в программировании, позволяющий динамически изменять связи объектов данных с их значениями. Строго говоря, изменение значений является побочным эффектом операции присвоения, и во многих современных языках программирования сама операция также возвращает некоторый результат. На физическом уровне результат операции присвоения состоит в проведении записи и перезаписи ячеек памяти или регистров процессора.
CPython — наиболее распространённая, де-факто эталонная реализация языка программирования Python. CPython является интерпретатором байт-кода, написан на C. Разработка ведётся группой разработчиков под руководством создателя Python Гвидо ван Россума. CPython является программным обеспечением с открытым исходным кодом.
Мо́дульное программи́рование — организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определённым правилам.
Интерпрети́руемый язы́к программи́рования — язык программирования, исходный код на котором выполняется методом интерпретации. Классифицируя языки программирования по способу исполнения, к группе интерпретируемых относят языки, в которых операторы программы друг за другом отдельно транслируются и сразу выполняются (интерпретируются) с помощью специальной программы-интерпретатора. Такой язык может реализовывать конструкции, допускающие динамические изменения на этапе выполнения. Эти конструкции затрудняют компиляцию и трансляцию на компилируемый язык.
NumPy — библиотека с открытым исходным кодом для языка программирования Python. Возможности:
- поддержка многомерных массивов ;
- поддержка высокоуровневых математических функций, предназначенных для работы с многомерными массивами.
Принцип TMTOWTDI, или «There’s More Than One Way To Do It» — девиз языка Perl. Этот принцип с самого начала имелся в виду при создании данного языка программирования. В соответствии с этой идеей синтаксис языка предоставляет программисту множество возможностей для записи одного и того же алгоритма, позволяя выбирать ту из них, которая кажется наиболее удобной и эффективной в данном конкретном случае. С одной стороны, это упрощает написание кода — нужно знать лишь один способ из многих, с другой — усложняет чтение чужого кода, так как для этого нужно знать все способы, которые могут встретиться. Это делает возможным написание чрезвычайно запутанных и трудночитаемых программ, но, как утверждают сторонники принципа TIMTOWTDI, позволяет в то же время проще создавать краткий, эффективный и качественный код.
— интерпретатор языка программирования Python. PyPy в начале своего существования был интерпретатором Python, написанным на Python. Текущие версии PyPy транслируются из RPython в Си и компилируются. В PyPy встроен трассирующий JIT-компилятор, который может превращать код на Python в машинный код во время выполнения программы.
— императивный, процедурный, структурный высокоуровневый язык программирования общего назначения и IDE, разработанные в Центре математики и информатики в Нидерландах в 1987 году.
История языка программирования Python началась в конце 1980-х. Гвидо ван Россум задумал Python в 1980-х годах, а приступил к его созданию в декабре 1989 года в центре математики и информатики в Нидерландах. Язык Python был задуман как потомок языка программирования ABC, способный к обработке исключений и взаимодействию с операционной системой Амёба. Ван Россум является основным автором Python и продолжал выполнять центральную роль в принятии решений относительно развития языка вплоть до 12 июля 2018 года.
Глобальная блокировка интерпретатора — способ синхронизации потоков, который используется в некоторых интерпретируемых языках программирования, например в Python и Ruby.
Тим Питерс — американский разработчик программного обеспечения, который создал алгоритм гибридной сортировки Timsort, внес большой вклад в язык программирования Python и его оригинальную реализацию CPython, а также известен в сообществе Python. Пользователь CPython до 1.0, он был среди ранних пользователей, которые внесли свой вклад в детальное проектирование языка на его ранних стадиях. Позже он создал алгоритм Тимсорта, который использовался в Python начиная с версии 2.3, а также в других широко используемых вычислительных платформах. Он также предоставил модули doctest и timeit для стандартной библиотеки Python.