Введение в
автоматизацию
тестирования на питоне
Andrey Stakhievich | stakhievich@dpi.solutions
Немного о себе
Андрей Стахиевич
Компания DPI Solutions
stakhievich@dpi.solutions
• QA Automation tech lead
• Консультант
• Тренер по автоматизации тестирования
3
О чем речь?
• Особенности питона как языка программирования
• Изучаем основы программирования на питоне
• Тестируем с pytest
• Автоматизируем с Selenium Webdriver
4
динамическая
типизация
автоматическое
управление
памятью
полная
интроспекция
обработка
исключений
многопоточные
вычисления
высокоуровневые
структуры данных
Что такое питон?
5
Интерпретируемый
Интерактивный
Объектно-ориентированный
Портируемый
Расширяемый
Какой питон?
• Красивое лучше, чем уродливое.
• Явное лучше, чем неявное.
• Простое лучше, чем сложное.
• Сложное лучше, чем запутанное.
• Плоское лучше, чем вложенное.
• Разреженное лучше, чем плотное.
• Читаемость имеет значение.
• Особые случаи не настолько особые,
чтобы нарушать правила.
• При этом практичность важнее
безупречности.
• Ошибки никогда не должны
замалчиваться.
• Если не замалчиваются явно.
• Встретив двусмысленность, отбрось
искушение угадать.
• Должен существовать один — и,
желательно, только один — очевидный
способ сделать это.
• Хотя он поначалу может быть и не
очевиден, если вы не голландец.
• Сейчас лучше, чем никогда.
• Хотя никогда зачастую лучше,
чем прямо сейчас.
• Если реализацию сложно объяснить —
идея плоха.
• Если реализацию легко объяснить —
идея, возможно, хороша.
• Пространства имён — отличная штука!
Будем делать их побольше!
6
Дзен Питона
7
Для чего питон?
Data Science
GUI
programming
System
scripting,
devops
Mobile, Web
development
Task
automation,
data scrapping
8
Почему питон?
• Низкий уровень вхождения
• Мощный базовый функционал
• Быстрое прототипирование
• Поддержка различных парадигм
программирования
• Наличие огромного количества
библиотек для всего
• Кроссплатформенность
• It’s just fun 
• Python 1.5 - 31 декабря 1997 года
• Python 1.6 - 5 сентября 2000 года
Python 1.0
январь 1994 года
• Python 2.7.12 - текущая
Python 2.0
16 октября 2000 года
• Python 3.5.2 – текущая
Python 3.0
3 декабря 2008 года
9
Версии
10
Learning time
11
Книги
• “Программирование для детей.
Иллюстрированное руководство по языкам
Scratch и Python”
12
Книги
• Mark Lutz “Learning python”
• Mark Lutz “Programming Python”
• Mark Lutz “Python pocket reference”
• Michael Dawson “Python programming for
the absolute beginner”
• Jonathan S. Harbour “More python
programming for the absolute beginner”
13
Tutorials
• https://www.codecademy.com/learn/python
• http://www.tutorialspoint.com/python/
• https://pythonschool.net/
• http://www.learnpython.org/
• https://learnpythonthehardway.org/
14
Grow your own python
15
• Python Official Website:
http://www.python.org/
• Python Documentation Website:
www.python.org/doc/
• Package manager
https://pypi.python.org/pypi/pip
Environment
16
Интерактивный Python
Набрать в командной строке
Писать код интерактивно
17
Неинтерактивный Python
Запустить в командной строке
PyCharm
Установить
Subime Text
Atom
Написать
18
Test it
19
Pytest установка
Набрать в командной строке
Проверить
20
http://doc.pytest.org/en/latest/
Pytest
• Легок в изучении и использовании
• Большой набор фунцкионала для тестирования
• Расширяемый
21
PyTest примеры
pytest test_module.py
22
Drive the browser
Selenium источники
23
• Selenium Official Website:
http://www.seleniumhq.org/
• Selenium Client Documentation Website:
http://selenium-python.readthedocs.io/
• На русском:
http://selenium2.ru/
24
Selenium. Установка и настройка
Набрать в командной строке
Скачать и распаковать нужный драйвер
http://www.seleniumhq.org/download/
1.
2.
3. Добавить в PATH путь к распакованному драйверу
Selenium. Простой тест
25
Selenium. Еще тест
26
27
Послесловие
• https://github.com/atinfo/awesome-test-automation
• http://automated-testing.info/t/dajdzhest-poleznyh-
ssylok-dlya-testirovshhikov-avtomatizatorov-016/3931
• pip install ipython
• pip install virtualenv + virtualenvwrapper
Andrey Stakhievich
stakhievich@dpi.solutions
Thanks
Questions

More Related Content

PPTX
карта IT профессий
PPTX
многогранная профессия тестировщика глазами с++ разработчика в примерах
PPTX
низкоуровневое программирование сегодня новые стандарты с++, программирован...
PPTX
карта It профессий, точки входа, первые шаги
PPTX
C++ idioms
PPTX
MagicPlot @ UXSPb @ IT Global Meetup #7
PDF
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
PDF
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
карта IT профессий
многогранная профессия тестировщика глазами с++ разработчика в примерах
низкоуровневое программирование сегодня новые стандарты с++, программирован...
карта It профессий, точки входа, первые шаги
C++ idioms
MagicPlot @ UXSPb @ IT Global Meetup #7
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций

What's hot (20)

PPTX
Как воспитать программиста
PPTX
Как отучить программиста колбасить (Прагматик 2012)
PPTX
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
PPTX
Как мы делаем Banki.ru
PPT
Как стать героем
PDF
Бумажное прототипирование
PPTX
О фреймворках Backend conf 2016
PPTX
Практические аспекты разработки ПО #1
PPTX
Практические аспекты разработки ПО #2
PPTX
Всему своё время Highload Junior 2016
PPTX
Как писать на PHP и не стать быдло-кодером
PDF
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
PPTX
Практические аспекты разработки ПО #3
PPTX
Qa career how to start
PPTX
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
PDF
UWDC'12, Александр Макаров, О командной разработке и фреймворках
PPTX
Локализационное тестирование носителями языков
PPTX
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
PPTX
Практические аспекты разработки ПО #5
PPTX
Практические аспекты разработки ПО #4
Как воспитать программиста
Как отучить программиста колбасить (Прагматик 2012)
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
Как мы делаем Banki.ru
Как стать героем
Бумажное прототипирование
О фреймворках Backend conf 2016
Практические аспекты разработки ПО #1
Практические аспекты разработки ПО #2
Всему своё время Highload Junior 2016
Как писать на PHP и не стать быдло-кодером
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Практические аспекты разработки ПО #3
Qa career how to start
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
UWDC'12, Александр Макаров, О командной разработке и фреймворках
Локализационное тестирование носителями языков
Промышленная разработка ПО. Лекция 7. Особенности работы руководителя проектов
Практические аспекты разработки ПО #5
Практические аспекты разработки ПО #4
Ad

Viewers also liked (20)

PPTX
Alternative ways of learning programming from scratch – first steps in automa...
PPTX
Роман Сорока
PPTX
Agile Testing & Agile Tester
PPTX
Логические инструменты в арсенале тестировщика
PPTX
ScreenPlay Design Patterns for QA Automation
PPTX
Coding 101
PDF
Scratch: School and Programming Languages
PPTX
Programming&coding
PPTX
PPTX
Многогранная профессия тестировщика глазами с++ разработчика в примерах
PDF
Picaxe manual5
PDF
Некоторые физические законы в контексте автоматизации тестирования
PPTX
Blockly
PDF
2015 JSDC Build Anything with JavaScript
PPTX
В топку Postman - пишем API автотесты в привычном стеке
PDF
C++ references
PPTX
Автоматизация тестирования API для начинающих
PPTX
тестовые стратегии
PPTX
Programming with Scratch
PPTX
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
Alternative ways of learning programming from scratch – first steps in automa...
Роман Сорока
Agile Testing & Agile Tester
Логические инструменты в арсенале тестировщика
ScreenPlay Design Patterns for QA Automation
Coding 101
Scratch: School and Programming Languages
Programming&coding
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Picaxe manual5
Некоторые физические законы в контексте автоматизации тестирования
Blockly
2015 JSDC Build Anything with JavaScript
В топку Postman - пишем API автотесты в привычном стеке
C++ references
Автоматизация тестирования API для начинающих
тестовые стратегии
Programming with Scratch
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
Ad

Similar to Python test-automation (17)

PDF
Easy selenium test automation on python
PDF
Лекция 1. Начало.
PDF
Введение в Python и Django
PDF
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
PDF
Что нового в Django 1.4
PDF
зобнин информатика в школе
PPTX
Python-технология которую легко продавать!
PPTX
Python tools for web development (Python meetup Almaty #ALAPY)
PPTX
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
PPTX
Светлый фон Урок 1.pptx Светлый фон Урок 1.pptx
PPT
Join the python_side
PDF
Kranonit s16 (python). sergey burma
PDF
Vladimir Obrizan "Ecosystem for reliable Python programming"
ODP
About Python
PDF
Беглый обзор "внутренностей" Python
PDF
Беглый обзор "внутренностей" Python
PDF
Python. Подробный справочник.
Easy selenium test automation on python
Лекция 1. Начало.
Введение в Python и Django
14 HappyDev-lite-2015 autumn. Дмитрий Вахрушев. Зачем вам изучать Python?
Что нового в Django 1.4
зобнин информатика в школе
Python-технология которую легко продавать!
Python tools for web development (Python meetup Almaty #ALAPY)
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
Светлый фон Урок 1.pptx Светлый фон Урок 1.pptx
Join the python_side
Kranonit s16 (python). sergey burma
Vladimir Obrizan "Ecosystem for reliable Python programming"
About Python
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
Python. Подробный справочник.

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
PPTX
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
PPTX
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
PPTX
Моя роль в конфликте
PPTX
Организация приемочного тестирования силами матерых тестировщиков
PPTX
Развитие или смерть
PPTX
Системный взгляд на параллельный запуск Selenium тестов
PPTX
Эффективная работа с рутинными задачами
PPTX
Как стать синьором
PPTX
Open your mind for OpenSource
PPTX
JDI 2.0. Not only UI testing
PPTX
Out of box page object design pattern, java
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Моя роль в конфликте
Организация приемочного тестирования силами матерых тестировщиков
Развитие или смерть
Системный взгляд на параллельный запуск Selenium тестов
Эффективная работа с рутинными задачами
Как стать синьором
Open your mind for OpenSource
JDI 2.0. Not only UI testing
Out of box page object design pattern, java

Python test-automation

Editor's Notes

  • #4: Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки. Python интерпретируется: ​​Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP. Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд. Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов. Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
  • #5: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #6: Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки. Python интерпретируется: ​​Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP. Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд. Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов. Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
  • #7: Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Питона», или «Дзен Пайтона»). Её текст выдаётся интерпретатором Питона по команде import this (работает один раз за сессию) Гвидо ван Россум (Хотя он поначалу может быть и не очевиден, если вы не голландец) создатель Python
  • #8: Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки. Python интерпретируется: ​​Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP. Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд. Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов. Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
  • #9: Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки. Python интерпретируется: ​​Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP. Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд. Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов. Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
  • #10: Версия 1.0 Python 1.0 появился в 1994 году. Основными функциями в нём были средства функционального программирования: лямбда-исчисление, карты, фильтры и свёртка списка. Последней версией, выпущенной Ван Россумом во время работы в центре математики и информатики был Python 1.2. С 1995 года Ван Россум продолжил работу над Python-ом в корпорации национальных исследовательских инициатив (CNRI) в городе Рестон, штат Вирджиния, где было выпущено несколько версий языка. Python 1.4 включал в себя множество новых функций, среди которых встроенная поддержка комплексных чисел. Версия 2.0 В версии Python 2.0 появилась поддержка списков - функция, заимствованная из функциональных языков программирования SETL и Haskell. Также был введён сборщик мусора. Python 2.1 очень похож на Python 1.6.1 и Python 2.0. Лицензия, начиная с этой версии, была переименована в Python Software Foundation License. Начиная с Python 2.1 весь код и техническая документация принадлежит некоммерческой организации Python Software Foundation, созданной в 2001 году. В Python 2.2 главным введением было объединение базовых классов и классов, создаваемых пользователем, в одной иерархии. Это сделало Python полностью объектно-ориентированным языком.
  • #11: Версия 1.0 Python 1.0 появился в 1994 году. Основными функциями в нём были средства функционального программирования: лямбда-исчисление, карты, фильтры и свёртка списка. Последней версией, выпущенной Ван Россумом во время работы в центре математики и информатики был Python 1.2. С 1995 года Ван Россум продолжил работу над Python-ом в корпорации национальных исследовательских инициатив (CNRI) в городе Рестон, штат Вирджиния, где было выпущено несколько версий языка. Python 1.4 включал в себя множество новых функций, среди которых встроенная поддержка комплексных чисел. Версия 2.0 В версии Python 2.0 появилась поддержка списков - функция, заимствованная из функциональных языков программирования SETL и Haskell. Также был введён сборщик мусора. Python 2.1 очень похож на Python 1.6.1 и Python 2.0. Лицензия, начиная с этой версии, была переименована в Python Software Foundation License. Начиная с Python 2.1 весь код и техническая документация принадлежит некоммерческой организации Python Software Foundation, созданной в 2001 году. В Python 2.2 главным введением было объединение базовых классов и классов, создаваемых пользователем, в одной иерархии. Это сделало Python полностью объектно-ориентированным языком.
  • #12: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #13: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #14: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #15: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #19: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #23: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
  • #28: Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).