Использование языка python в программах расчета мкэ реферат

Обновлено: 30.06.2024

Python — это высокоуровневый язык программирования, который используется в различных сферах IT, таких как машинное обучение, разработка приложений, web, парсинг и другие.

В 2019 году Python стал самым популярным языком программирования, обогнав Java на 10%. Это обусловлено многими причинами, одна из которых — высокая оплата труда квалифицированных специалистов (около 100 тысяч долларов в год).

Язык программирования Python

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

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

Происхождение названия

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

Питон или Пайтон?

Логотип

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


Логотип создал брат автора, Юст ван Россум — программист и шрифтовой дизайнер. Он разработал как дизайн логотипа (две змеи), так и шрифт текста Flux Regular.

История создания

Язык начал разрабатывать программист, Гвидо ван Россумом, в конце 1980-х. На тот момент он работал в центре математики и информатике в Нидерландах.

Россум работал над Python в свободное время, в качестве основы он взял язык программирования ABC, в разработке которого когда-то участвовал.

Этапы истории языка программирования Python:

  • В феврале 1991 исходный код языка был опубликован на alt.sources. Уже тогда язык придерживался объектно-ориентированного подхода, мог работать с классами, наследованием, функциями, обработкой исключений и всеми основными структурами данных.
  • В 2000 году вышла в релиз вторая версия Python. В неё добавили много важных инструментов, включая поддержку Юникода и сборщик мусора.
  • 3 декабря 2008 в релиз вышла третья версия Python, которая является основной до сих пор. Многие особенности языка были переделаны и стали несовместимы с предыдущими версиями. И хотя функциональность третьей версии ничем не уступает второй, развитие языка разделилось на две ветки. Кто-то продолжал использовать Python 2, чтобы поддерживать старые проекты, кто-то полностью перешёл на третью версию.

Дату смерти второй версии установили на 2015 год, однако, боясь не успеть перенести весь существующий код на Python 3, время жизни Python 2 продлили жизнь до 2020 года.

Python — простой язык

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

Python упрощает написание кода и делает разработку быстрой, всё потому что он обладает следующими особенностями:

Python сочетает в себе и простоту и мощный инструментарий. Его можно использовать для создания прототипа практически любой программы.

Чтобы ускорить разработку, часть программы (обычно не сильно влияющую на скорость работы) пишут на Питоне.

Именно благодаря простоте этот язык программирования смог занять доминирующее место в сфере машинного обучения. Люди, так или иначе связанные с наукой, предпочитают не тратить много времени на такие вещи, как написание кода, поэтому Python отлично подошёл для реализации поставленных перед ними задач.

Пример кода:

Популярность

Несмотря на то что языку уже более 29 лет, он популярен среди программистов всего мира. Python используется почти в каждом среднем или крупном проекте, если не как основной инструмент разработки, то как инструмент для создания прототипа или написания какой-то его части.

Он собрал вокруг себя огромное сообщество разработчиков, по результатам опроса на Stackoverflow Python занял 7 место с почти 39% голосов.

Индекс TIOBE

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


Согласно индексу TIOBE Python занял 3 место с 9-ю процентами популярности. Он уступил лишь языкам Java и C.

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


По данным с PYPL Python занимает первое место с более чем 29% популярности и на 10% обгоняет Java.

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


Согласно опросу более 85 тысяч респондентов, Python занимает 4 место, уступив таким языкам, как JS, языки разметки и SQL.

Скорость работы

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

Однако в современном IT важна не только скорость работы программ, но и скорость их разработки. Разработка, тестирование, отладка и поддержка — всё это стоит немалых денег. И если в скорости работы программ Python уступает, то в скорости разработки ему нет равных.

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

Программисты используют приёмы, позволяющие нивелировать недостаточную скорость выполнения программ на Pyton:

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

Python и МКЭ

Тема довольно специальная. Совет - переведи то, что ищешь, на инглиш и гугли. Или спроси на форуме строителей.

Python и МКЭ

Python и МКЭ

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

Python и МКЭ

Примеры можно посмотреть во flexpde или аналогичных пакетах в wolfram matematica matlab…. Там вообще не надо никаких спец знаний. Примеры использования библиотек есть практически во всех библиотеках :).

Что касается алгоритма, то все очень просто метод Галеркина или метод взвешенных невязок.

Перво наперво надо определиться со следующим:

1 Вам нужно решение или разработка программы?
2 Составить перечень процессов которые надо описывать.
3 геометрия области
4 граничные условия.

Python и МКЭ

Ну до метода Галеркина мне еще надо составить уравнения, пока я только делю область на конечные элементы.
Дальше у меня дело остановилось(( Не совсем понимаю как составить систему уравнений.

Python и МКЭ

Отредактировано vkopey (Май 27, 2012 17:19:35)

Python и МКЭ

alekseyxxxx
такой вопрос, именно необходимо написать? Есть же куча проверенных временем CAE инженерных систем. Если это хотелка, то мой совет не связываться, если это задание, то таких библиотек, скорее всего нет, и вот почему:
1. Есть целый ряд пакетов, которые объединяют в себе CAD/CAE и даже CAM. Коммерческие, и некоммерческие, удобные и не очень, точные и не слишком. В некоторые из них вбуханы астрономические суммы денег, и история тянется еще к дедушке Оппенгеймеру. Все они в разной степени подтверждены реальными экспериментами с высоким уровнем свпадения результатов.
2. Такой модуль дожен быстро дробить числа, и вообще, работать быстро, что для питона вообще-то не характерно. Можно конечно Cи-модуль для FEM, но кому это надо для питона, а?(см. п. 1)
3. Вы не сможете обеспечить достаточный уровень достоверности расчета (хотя бы потому, что надо проводить натурные эксперименты).
4. А если задача еще и трехмерная и нестационарная…

Если же вы математик, у вас курсак, и надо разобраться со всей этой байдой :), то:
ищите:
-Fem Theory And Analisys With Ansys - Prentice Hall, 1999, подозреваю, что CHAPTER 5;
- Engineering Analysis with ANSYS Software подозреваю Chapter 1;
- Каплун - ANSYS в руках инженера - первые страниц 60 (страница 48 - составление матриц).
Удачи :)

Содержание: краткий обзор, сравнительное описание,
краткий справочник языка Python.

Автор: Султанбек Тезадов (mailto:tezadov@).

2. Общие сведения о Python. Достоинства и недостатки 4

2.1 Достоинства языка 4

2.2 Недостатки языка 5

3. Обзор особенностей 5

4. Описание языка. Управляющие конструкции 9

5. Обработка исключительных ситуаций 10

6. Объявление функций 11

7. Объявление классов 11

8. Операторы для всех типов последовательностей
(списки, тьюплы, строки) 12

9. Операторы для списков (list) 12

10. Операторы для словарей (dictionary) 13

11. Файловые объекты 13

12. Другие элементы языка и встроенные функции 13

13. Cпециальные функции для работы со списками 14

14. Импортирование модулей 15

15. Стандартный модуль math 15

16. Модуль string 16

17. Заключение 16

18. Литература 16

1.Введение

В связи с наблюдаемым в настоящее время стремительным развитием персональной вычислительной техники, происходит постепенное изменение требований, предъявляемых к языкам программирования. Все большую роль начинают играть интерпретируемые языки, поскольку возрастающая мощь персональных компьютеров начинает обеспечивать достаточную скорость выполнения интерпретируемых программ. А единственным существенным преимуществом компилируемых языков программирования является создаваемый ими высокоскоростной код. Когда скорость выполнения программы не является критичной величиной, наиболее правильным выбором будет интерпретируемый язык, как более простой и гибкий инструмент программирования.

В связи с этим, определенный интерес представляет рассмотрение сравнительно нового языка программирования Python (пайтон), который был создан его автором Гвидо ван Россумом (Guido van Rossum) в начале 90-х годов.

2.Общие сведения о Python. Достоинства и недостатки

Python является интерпретируемым, изначально объектно-ориентированным языком программирования. Он чрезвычайно прост и содержит небольшое число ключевых слов, вместе с тем очень гибок и выразителен. Это язык более высокого уровня, нежели Pascal, C++ и, естественно C, что достигается, в основном, за счет встроенных высокоуровневых структур данных (списки, словари, тьюплы).

2.1Достоинства языка

Несомненным достоинством является то, что интерпретатор Python реализован практически на всех платформах и операционных системах. Первым таким языком был C, однако его типы на разных машинах могли занимать разное количество памяти и это служило некоторым препятствием при написании действительно переносимой программы. Python же таким недостатком не обладает.

Следующее достоинство - наличие большого числа подключаемых к программе модулей, обеспечивающих различные дополнительные возможности. Такие модули пишутся на С и на самом Python и могут быть разработаны всеми достаточно квалифицированными программистами. В качестве примера можно привести следующие модули:

Numerical Python - расширенные математические возможности, такие как манипуляции с целыми векторами и матрицами;

Tkinter - построение приложений с использованием графического пользовательского интерфейса (GUI) на основе широко распространенного на X-Windows Tk-интерфейса;

OpenGL - использование обширной библиотеки графического моделирования двух- и трехмерных объектов Open Graphics Library фирмы Silicon Graphics Inc. Данный стандарт поддерживается, в том числе, в таких распространенных операционных системах как Microsoft Windows 95 OSR 2, 98 и Windows NT 4.0.

2.2Недостатки языка

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

3.Обзор особенностей

Python, в отличие от многих языков (Pascal, C++, Java, и т.д.), не требует описания переменных. Они создаются в месте их инициализации, т.е. при первом присваивании переменной какого-либо значения. Значит, тип переменной определяется типом присваиваемого значения. В этом отношении Python напоминает Basic.

Тип переменной не является неизменным. Любое присваивание для нее корректно и это приводит лишь к тому, что типом переменной становится тип нового присваиваемого значения.

2. В таких языках как Pascal, C, C++ организация списков представляла некоторые трудности. Для их реализации приходилось хорошо изучать принципы работы с указателями и динамической памятью. И даже имея хорошую квалификацию, программист каждый раз заново реализуя механизмы создания, работы и уничтожения списков, мог легко допустить трудноуловимые ошибки. Ввиду этого были созданы некоторые средства для работы со списками. Например, в Delphi Pascal имеется класс TList, реализующий списки; для С++ разработана библиотека STL (Standard Template Library), содержащая такие структуры как векторы, списки, множества, словари, стеки и очереди. Однако такие средства имеются не во всех языках и их реализациях.

Одной из отличительных черт Python является наличие таких встроенных в сам язык структур как тьюплы (tuple), списки (list) и словари (dictionary), которые иногда называют картами (map). Рассмотрим их подробней.

Тьюпл . Он чем-то напоминает массив: состоит из элементов и имеет строго определенную длину. Элементами могут быть любые значения - простые константы или объекты. В отличие от массива, элементы тьюпла не обязательно однородны. А тем, что отличает тьюпл от списка (list) является то, что тьюпл не может быть изменен, т.е. мы не можем i-тому элементу тьюпла присвоить что-то новое, и не можем добавлять новые элементы. Таким образом, тьюпл можно назвать списком-константой. Синтаксически тьюпл задается путем перечисления через запятую всех элементов, и все это заключено в круглые скобки:

Все элементы индексируются с нуля. Для получения i-го элемента необходимо указать имя тьюпла затем индекс i в квадратных скобках. Пример:

Результат: 0 4 2

Таким образом, тьюпл можно было назвать вектором-константой, если бы его элементы всегда были однородными.

Список . Хорошим, частным примером списка может служить строка (string) языка Turbo Pascal. Элементами строки являются одиночные символы, ее длина не фиксирована, имеется возможность удалять элементы или, напротив, вставлять их в любом месте строки. Элементами же списка могут быть произвольные объекты не обязательно одного и того же типа. Чтобы создать список, достаточно перечислить его элементы через запятую, заключив все это в квадратные скобки:

В отличие от тьюпла, списки можно модифицировать по своему желанию. Доступ к элементам осуществляется также как и в тьюплах. Пример:

print l[0], l[1], l[-2], l[-1][0]

Результат: 1 s (2,8) 0

print d['a'], d['b'], d[5], d['name']

Результат: 1 3.14 3.14 John

Для добавления новой пары "ключ"-"значение" достаточно присвоить элементу с новым ключом соответствующее значение:

d['new'] = 'new value'

3. Python в отличие от Pascal, C, C++ не поддерживает работу с указателями, динамической памятью и адресную арифметику. В этом он похож на Java. Как известно, указатели служат источником трудноуловимых ошибок, и работа с ними относится больше к программированию на низком уровне. Для обеспечения большей надежности и простоты они небыли включены в Python.

4. Одним из особенностей Python является то, как происходит присваивание одной переменной другой, т.е. когда по обе стороны от оператора " text-indent: 0.39in; margin-bottom: 0in"> Следуя Тимоти Бадду ([1]), будем называть семантикой указателей случай, когда присваивание приводит лишь к присваиванию ссылки (указателя), т.е. новая переменная становится лишь другим именем, обозначающим тот же участок памяти что и старая переменная. При этом изменение значения, обозначаемого новой переменной, приведет к изменению значения старой, т.к. они, фактически, означают одно и то же.

Когда же присваивание приводит к созданию нового объекта (здесь объект - в смысле участка памяти для хранения значения какого-либо типа) и копированию в него содержимого присваиваемой переменной, этот случай назовем семантикой копирования . Таким образом, если при копировании действует семантика копирования, то переменные по обе стороны от знака " text-indent: 0.39in; margin-bottom: 0in"> Присваивание в Python происходит следующим образом: если присваеваемый объект является экземпляром таких типов как числа или строки, то действует семантика копирования, если же в правой части стоит экземпляр класса, список, словарь или тьюпл, то действует семантика указателей. Пример:

print 'семантика копирования: a=', a, 'b=', b

print 'семантика указателей: a=', a, 'b=', b

семантика копирования: a= 2 b= 3

семантика указателей: a= [3,5] b= [3,5]

Так вот, если мы пишем:

Python это интерпретирует так:

дать этому объекту еще одно имя - b ;

модифицировать нулевой элемент объекта.

И последнее, что стоит сказать насчет этого: хотя нет возможности изменения структуры тьюпла, но содержащиеся в нем мутируемые компоненты по-прежнему доступны для модификации:

t = (1, 2, [7,5], 'string')

5. Весьма оригинальным является то, как в Python группируются операторы. В Pascal для этого служат операторные скобки begin-end , в C, C++, Java - фигурные скобки <>, в Basic применяются закрывающие окончания конструкций языка (NEXT, WEND, END IF, END SUB).

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

Тем самым, хороший стиль записи программ, к которому призывают преподаватели языков Pascal, C++, Java и т.д., здесь приобретается с самого начала, поскольку по-другому просто не получится.

4.Описание языка. Управляющие конструкции

Здесь, при истинности будет выполнен и проигнорированы ветки elif и else. В противном случае, если истинно , то выполняется , ветка else игнорируется. Иначе выполняется .

Осуществляет немедленное завершение циклов while и for.

Вызывает немедленное выполнение следующей итерации циклов while и for.

Осуществляет возврат из функции или метода класса, возвращая значение .

5.Обработка исключительных ситуаций

Выполняется , если при этом возникла исключительная ситуация , то выполняется . Если имеет значение, то оно присваивается .

В случае успешного завершения выполняется .

Выполняется . Если не возникло исключений, то выполняется . Иначе выполняется и немедленно инициируется исключительная ситуация.

Инициирует исключительную ситуацию с параметром .

Исключения - это просто строки (string). Пример:

my_ex = ‘bad index’

raise my_ex, bad

except my_ex, value:

print ‘ Error ’, value

6.Объявление функций

в самом общем виде выглядит так:

Здесь - идентификатор переменной; - некое значение.

7.Объявление классов

Здесь может содержать присваивания переменным (эти переменные становятся атрибутами, т.е. полями класса) и определений функций (являющихся методами класса).

def __init__(self, val):

def printVal (self):

print ‘ value = ’, self.value

obj = cMyClass (3.14)

value = string now

8.Операторы для всех типов последовательностей
(списки, тьюплы, строки)

len (s) - возвращает длину s.

min (s), max (s) - наименьший и наибольший элементы s, соответственно.

x in s - истина ( 1 ), если s включает в себя элемент равный x, иначе - ложь ( 0 ).

x not in s - ложь если s включает x, иначе истина.

s+t - слияние s и t.

s*n , n*s - n копий s, слитых вместе (например, ‘*’ * 5 - это строка ‘*****’).

s[i] - i-тый элемент s, где i отсчитывается с 0.

s[i:j] - часть элементов s начиная с i до j-1 включительно. Либо i, либо j, либо оба параметра могут быть опущены (i по умолчанию равен 0, j - длине s).

9.Операторы для списков (list)

s[i] = x - i-тый элемент s заменяется на x.

s[i:j] = t - часть элементов s от i до j-1 заменяется на t (t может быть также списком).

del s[i:j] - удаляет часть s (также, как и s[i:j] = []).

s.append (x) - добавляет элемент x к концу s.

s.count (x) - возвращает количество элементов s, равных x.

dex (x) - возвращает наименьший i такой, что s[i]==x.

sert (i,j) - часть s, начиная с i-го элемента, сдвигается вправо, и s[i] присваивается x.

s.remove (x) - то же, что и del s[ dex(x) ] - удаляет первый элемент s, равный x.

s.reverse () - записывает строку в обратном порядке.

s.sort () - сортирует список по возрастанию.

10.Операторы для словарей (dictionary)

len (a) - количество элементов а.

a[k] - элемент с ключом k.

a[k] = x - присвоить элементу с ключом k значение x.

del a[k] - удалить a[k] из словаря.

a.items () - список тьюплов пар (ключ, значение).

a.keys () - список ключей а.

a.values () - список значений а.

a.has_key (k) - возвращает 1, если а имеет ключ k, иначе 0.

11.Файловые объекты

Создаются встроенной функцией open() (ее описание смотрите ниже). Например: f = open (‘mydan.dat’, ‘r’) . Методы:

f.close () - закрыть файл.

f.read ([ size ]) - читает байт из файла и возвращает в виде строки. Если отсутствует, то читает до конца файла.

f.readline () - читает целиком одну строку из файла.

f.readlines () - читает строки до конца файла и возвращает список прочитанных строк.

f.seek (offset, mode) - устанавливает позицию в файле с которого будет произведено чтение. - смещение относительно:

начала файла (при mode == 0 - по умолчанию);

текущей позиции (при mode == 1 );

конца файла (при mode == 2 ).

f.tell () - возвращает текущую позицию в файле.

f.write (str) - записывает строку в файл.

12.Другие элементы языка и встроенные функции

print [ [, ]* [,] ] - выводит значения , в стандартный вывод. Ставит пробел между аргументами. Если запятая в конце перечня аргументов отсутствует, то осуществляет переход на новую строку.

abs (x) - возвращает абсолютное значение x.

apply ( f, ) - вызывает функцию (или метод) f с .

chr (i) - возвращает односимвольную строку с ASCII кодом i.

cmp (x, y) - возвращает отрицательное, ноль, или положительное значение, если, соответственно, x == , или > чем y.

divmod (a, b) - возвращает тьюпл ( a/b, a%b ), где a/b - это a div b (целая часть результата деления), a%b - это a mod b (остаток от деления).

float (x) - возвращает вещественное значение равное числу x.

hex (x) - возвращает строку, содержащую шестнадцатеричное представление числа x.

input ( ) - выводит , считывает и возвращает значение со стандартного ввода.

int (x) - возвращает целое значение числа x.

len (s) - возвращает длину (количество элементов) объекта.

long (x) - возвращает значение типа длинного целого числа x.

max (s) , min (s) - возвращают наибольший и наименьший из элементов последовательности s ( т.е. s - строка, список или тьюпл )

oct (x) - возвращает строку, содержащую представление числа x.

open ( , = ‘r’) - возвращает файловый объект, открытый для чтения. = ‘w’ - открытие для записи.

ord (c) - возвращает ASCII код символа (строки длины 1) c.

pow (x, y) - возвращает значение x в степени y.

range ( , , ) - возвращает список целых чисел, больших либо равных и меньших чем , сгенерированных с заданным .

raw_input ([ ]) - выводит на стандартный вывод и считывает строку (string) со стандартного ввода.

round (x, n=0) - возвращает вещественное x, округленное до n-го разряда после запятой.

str ( ) - возвращает строковое представление .

type ( ) - возвращает тип объекта. Например:

if type(x) == type(‘’): print ‘ это строка ’

xrange ( , , ) - аналогичен range, но лишь имитирует список, не создавая его. Используется в цикле for.

13.Cпециальные функции для работы со списками

map ( , ) - применяет к каждому элементу и возвращает список результатов.

С помощью данной функции можно, к примеру, вычислить сумму элементов списка:

def func (red, el):

sum = reduce (func, [1,2,3,4,5], 0)

>>>print filter (lambda x: x>3, [1,2,3,4,5])

>>>print map (lambda x: x*2, [1,2,3,4])

>>>print reduce (lambda r, x: r*x, [1,2,3,4], 1)

14.Импортирование модулей

import [, ]* - подключает внешние модули.

from import [, ]* - импортирует имена (функций, классов, переменных и т.д.) из .

Язык Python является одним из самых простых в изучении и самых приятных в использовании из языков программирования, получивших широкое распространение. Программный код на языке Python легко читать и писать, и, будучи лаконичным, он не выглядит загадочным. Python - очень выразительный язык, позволяющий уместить приложение в меньшее количество строк, чем на это потребовалось бы в других языках, таких как C++ или Java.

2.1.1. История создания¶

Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI (Центр математики и информатики, голл. Centrum Wiskunde & Informatica) Гвидо ван Россумом (англ. Guido van Rossum), на основе языка ABC (Рисунок 2.1.1). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.

https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/320px-Guido_van_Rossum_OSCON_2006.jpg

Рисунок 2.1.1 - Гвидо ван Россум на конференции в 2006 г. ¶

О создании Python Гвидо ван Россум написал в 1996 г.:

Появившись сравнительно поздно, Python создавался под влиянием множества языков программирования. Так, например, влияние оказали такие языки, как:

ABC: отступы для группировки операторов, высокоуровневые структуры данных;

Modula-3: пакеты, модули;

С, C++: некоторые синтаксические конструкции;

Java: обработка исключений и др.

Большая часть других особенностей Python (например, байт-компиляция исходного кода) также была реализована ранее в других языках.

Развитие языка происходит согласно четко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (Python Enhancement Proposal) — предложений по развитию Python.

В 2008 году, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x) (сравнение и рекомендации), однако получать новый функционал будет только версия 3 6.

Читайте также: