Вредоносное ПО (malware) - это назойливые или опасные программы,...
![Лучшие утилиты для удаления вирусов и вредоносных программ](https://i2.wp.com/webhelper.info/images/danger.jpg)
3 ответов
Python - динамический, строго типизированный, объектно-ориентированный многоуровневый язык программирования, предназначенный для быстрого (изучения, использования и понимания) и обеспечения четкого и единообразного синтаксиса.
Python может использоваться для любой задачи программирования, от программирования GUI до веб-программирования со всем остальным между ними. Это довольно эффективно, так как большая часть его активности выполняется на уровне C. Python - это всего лишь слой поверх C. Есть библиотеки для всего, о чем вы можете думать: игровое программирование и OpenGL, интерфейсы GUI, веб-фреймворки, семантические сети, научные вычисления...
Python предлагает шаг в мир программирования. Несмотря на то, что язык программирования Python существует уже 25 лет, он все еще растет в популярности. Некоторые из самых больших преимуществ Python:
Как язык программирования общего назначения, Python может использоваться для нескольких вещей. Python можно легко использовать для небольших, крупных, онлайн и оффлайн проектов. Лучшие варианты использования Python - это веб-разработка, простой скриптинг и анализ данных. Ниже приведены несколько примеров того, что Python позволит вам сделать:
Веб-разработка:
Вы можете использовать Python для создания веб-приложений на многих уровнях сложности. Есть много отличных веб-фреймворков Python, включая Pyramid, Django и Flask, чтобы назвать несколько.
Анализ данных:
Python является ведущим языком выбора для многих ученых-исследователей. Python стал популярным в этой области благодаря своим превосходным библиотекам, в том числе; NumPy и Pandas и его великолепные библиотеки для визуализации данных, такие как Matplotlib и Seaborn.
Машинное обучение:
Что делать, если вы могли бы спрогнозировать удовлетворенность клиентов или проанализировать, какие факторы повлияют на цену домашних хозяйств или предсказать акции в течение следующих нескольких дней, исходя из данных предыдущих лет? Существует множество замечательных библиотек, реализующих алгоритмы машинного обучения, такие как Scikit-Learn, NLTK и TensorFlow.
Компьютерное зрение:
Вы можете делать много интересных вещей, таких как обнаружение лиц, определение цвета при использовании Opencv и Python.
Интернет о вещах с малиной Pi:
Малина Pi - очень маленький и доступный компьютер, который был разработан для обучения и приобрел огромную популярность среди любителей с самодельными аппаратными средствами и автоматизацией. Вы даже можете построить робота и автоматизировать весь свой дом. Малина Pi может использоваться в качестве мозга для вашего робота, чтобы выполнять различные действия и/или реагировать на окружающую среду. Кодирование на малине Pi может быть выполнено с использованием Python. Возможности бесконечны!
Разработка игр:
Создайте видеоигру с помощью модуля Pygame. В принципе, вы используете Python для написания логики игры. Приложения PyGame могут работать на устройствах Android.
Веб-скребок:
Если вам нужно захватить данные с веб-сайта, но на сайте нет API для публикации данных, используйте Python для очистки данных.
Написание скриптов:
Если вы делаете что-то вручную и хотите автоматизировать повторяющиеся вещи, такие как электронные письма, это не сложно автоматизировать, как только вы знаете основы этого языка.
Автоматизация браузера:
Выполните некоторые аккуратные вещи, такие как открытие браузера и публикация статуса Facebook, вы можете сделать это с помощью Selenium с Python.
Разработка графического интерфейса:
Создайте графическое приложение (настольное приложение), используя модули Python Tkinter, PyQt для поддержки.
Быстрое прототипирование:
У Python есть библиотеки практически для всех. Используйте его для быстрого создания (более низкого, часто менее мощного) прототипа. Python также отлично подходит для проверки идей или продуктов для известных компаний и начинающих.
Python может использоваться во множестве различных проектов. Если вы программист, ищущий новый язык, вы хотите, чтобы он стал популярным. Будучи новичком в программировании, Python - идеальный выбор для обучения быстро и легко.
Python является широко используемым, высокоуровневым языком программирования, который был назван в честь знаменитого британского комедийного телешоу «Летающий цирк Монти Пайтона ». Язык Python простой по своей структуре, и в то же время невероятно гибкий и мощный. Учитывая, что код Python легко читаемый и без излишней строгости в синтаксисе, многие считают, что он является лучшим вводным языком программирования.
Python — описание языка, которое дали в Foundation описывает Python :
Python – это интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Он включает в себя модули, исключения, динамическую типизацию, высокоуровневые динамические типы данных и классы. Python сочетает в себе отличную производительность с понятным синтаксисом. В нем реализованы интерфейсы ко многим системным вызовам и библиотекам, а также различным оконным системам и он расширяем с помощью C и C++. Python используется как язык расширения для приложений, которым нужен программный интерфейс. И наконец, Python — это кроссплатформенный язык: он работает на многих версиях Unix, на Mac и на компьютерах под управлением MS-DOS, Windows, Windows NT и OS/2.
Можно начать изучение с Python языка программирования. Чтобы проиллюстрировать, чем Python отличается от других вводных языков, вспомните время, когда вы были подростком.
Изучение программирования с помощью Python подобно вождению родительского минивэна. Как только вы сделаете на нем несколько кругов по парковке, вы начнете понимать, как управлять автомобилем.
Пытаться изучить программирование с помощью C (или даже ассемблера ) это как, учиться водить, собирая минивэн ваших родителей. Вы застрянете в гараже на несколько лет, компонуя части вместе, и когда у вас появится полное понимание того, как работает машина, и будете способны выявлять неисправности и прогнозировать будущие проблемы, вы уже перегорите, прежде чем когда-либо сядете за руль.
Язык Python для начинающих универсален. Вы можете автоматизировать рабочие процессы, создавать сайты, а также настольные приложения и игры с помощью Python . К слову, спрос на разработчиков Python (PostgreSQL, OOP, Flask, Django ) резко вырос за последние несколько лет в таких компаниях, как Instagram , Reddit , Tumblr , YouTube и Pinterest .
Python относится к высокоуровневым языкам программирования. Используя его, вы сможете создавать практически любые типы программного обеспечения. Эта универсальность поддерживает ваш интерес, так как вы разрабатываете программы и решения, ориентированные на ваши интересы, а не застреваете в дебрях языка, беспокоясь о его синтаксисе.
Язык программирования Python для начинающих является интерпретируемым, а это значит, что вам не нужно знать, как компилировать код. Поскольку этап компиляции отсутствует, возрастает производительность, а время для редактирования, тестирования и отладки в значительной мере уменьшается. Просто скачайте интегрированную среду разработки (IDE ), напишите свой код и нажмите «Выполнить » (Run ).
Простой, легкий в изучении синтаксис Python делает упор на читаемость и задает хороший стиль программирования. С Python вы можете выразить свою концепцию меньшим количеством строк кода. Этот язык также заставляет вас обдумывать логику программы и алгоритмы. В связи с этим он часто используется как скриптовый или интегрирующий язык (glue language ), чтобы связать существующие компоненты вместе и писать большие объемы легко читаемого и работоспособного кода в короткие промежутки времени.
Нельзя назвать язык программирования в честь Монти Пайтона , не имея чувства юмора. Более того, было проведено тестирование для сравнения времени, необходимого для написания простого скрипта на различных языках (Python, Java, C, J, BASIC ):
…Python требует меньше времени, меньше строк кода и меньше концептов, чтобы достичь поставленной цели… И в довершение всего, программирование на Python это весело! Веселье и частый успех порождает уверенность и интерес у студентов, которые становятся лучше подготовленными к дальнейшему изучению языка Python.
Перевод статьи «Why Learn Python? » был подготовлен дружной командой проекта .
Хорошо Плохо
Python является универсальным языком высокого уровня, который может быть расширен и встроен. Он, например, входит в комплект приложений как инструмент написания макросов. Это делает Python разумным выбором для многих задач программирования, больших и не очень, и не таким удачным для небольшого числа вычислительных задач.
Язык Python идеально подходит для проектов, требующих быстрой разработки. Он поддерживает несколько парадигм программирования, что хорошо для программ, требующих гибкости. А наличие множества пакетов и модулей обеспечивает универсальность и экономит время.
Гвидо ван Россум - создатель Python, ласково удостоенный сообществом звания «великодушный пожизненный диктатор». В конце 1980-х Гвидо нравились особенности некоторых языков программирования, но ни один из них не обладал всеми возможностями, которые бы ему хотелось иметь. В частности язык должен был обладать следующими характеристиками.
Сценарий представляет собой программу, которая управляет другими программами. Языки сценариев подходят для быстрой разработки и прототипирования, потому что они хорошо справляются с передачей данных от одного компонента к другому и избавляют программиста от таких хлопотных вещей, как управление памятью.
Сообщество пользователей предпочитает называть Python динамическим языком программирования.
Python определяет принадлежность выражений к одной группе с помощью отступов. Такая группа называется блоком кода. В других языках для этого используется другой синтаксис или знаки препинания. Например, в C символ символ { обозначает начало и } - конец последовательности команд. Наличие отступов считается хорошей практикой и в других языках, но одним из первых, в котором соблюдение отступов обеспечивается принудительно, был Python. Что это дает? Отступ делает код более удобным для чтения, а кодовые блоки требуют меньше обозначений их начала и конца и знаков препинания, которые можно случайно пропустить. Все это ведет к меньшему количеству ошибок.
Компьютеры хранят данные в единицах и нулях, но люди нуждаются в более сложных формах, таких как текст. О языке, поддерживающем сложные данные, говорят, что он поддерживает типы данных высокого уровня. Такими типами данных легко оперировать. Например, в Python строки можно разделять, объединять, переводить в верхний или нижний регистр, в них можно производить поиск и т. д. Высокоуровневые типы данных, такие как списки и словари, которые могут хранить и другие данные, обладают гораздо большими функциональными возможностями, чем другие языки.
Расширяемый язык программирования может быть дополнен. Такие языки являются очень мощными, потому что дополнения делают их пригодными для множества применений и операционных систем. Расширения могут добавлять или концепции, модули и плагины. Язык Python расширяется несколькими способами. Основная группа программистов работает над его изменением и улучшением, а сотни других пишут модули для конкретных целей.
Интерпретируемые языки выполняются непосредственно из исходного кода, написанного людьми, а программы, написанные на компилируемых языках, таких как C ++, должны быть переведены в более медленные, так как трансляция происходит на лету, но написание программ и их отладка происходит быстрее, так как отсутствует необходимость ожидать завершения работы компилятора. Они легче переносятся на разные платформы.
Можно спорить по поводу того, является ли Python интерпретируемым или компилируемым языком. Хотя во многих отношениях он работает как интерпретируемый, перед выполнением его код компилируется (как в Java), и многие его компоненты работают на полной скорости машины, так как написаны на C.
Гвидо начал писать Python во время рождественских каникул в 1989 г., и в течение следующего года он дорабатывал язык на основе отзывов своих коллег. Широкая публика увидела результат в феврале 1991 г., когда он был размещен в одной из новостных групп Usenet.
Для того чтобы начать писать программы на Python, нужно его установить. У версий Python 2.7 и Python 3.5 есть существенные различия, из-за которых программы, написанные на них, являются несовместимыми.
В компьютерах «Макинтош» данный язык предустановлен, и его версия зависит от возраста ОС. При работе в Windows придется самостоятельно установить Python. Файлы инсталляционного пакета можно выбрать на сайте python.org.
Одной из причин простоты, которой отличается программирование на Python, является то, что он поставляется с инструментами, которые помогут разрабатывать, писать и отлаживать программы.
В интерактивном режиме команды вводятся по одной строке за один раз, почти так же, как операционная система (оболочка) принимает команды из командной строки. Также можно создавать короткие многострочные программы или импортировать код из текстовых файлов или встроенных модулей Python. Для начинающих будет полезно знать, что интерактивный режим включает обширную справочную систему. Это удобный способ изучения возможностей языка программирования.
Среда разработки IDLE включает интерактивный режим и инструменты для написания и запуска программ, а также систему отслеживания имен. Среда написана на Python и демонстрирует обширные возможности языка.
Здесь можно делать практически все, что можно сделать в программе, даже писать многострочный код. Данный режим может служить:
Интерактивный режим можно использовать в качестве калькулятора, манипулировать текстом и присваивать значения переменным. Также можно импортировать модули, функции или части программ для их тестирования. Это помогает экспериментировать с объектами Python без написания длинных программ и отлаживать программы путем импортирования их частей по одной за раз.
После запуска Python в окне терминала отобразится информация о текущей версии программы, дате ее выпуска, несколько подсказок дальнейших действий и приглашение ввода >>>.
Для работы в интерактивном режиме следует ввести команду или выражение и нажать клавишу ввода.
Python интерпретирует ввод и отреагирует, если набранное требует ответа, или интерпретатор его не понимает.
Следующая команда напечатает строку. Поскольку место печати не указано, вывод происходит на экран.
Эта единственная строка является целой программой! В интерактивном режиме Python обрабатывает каждую строку введенного кода после нажатия клавиши ввода, и результат появляется ниже.
В интерактивном режиме есть два способа просмотра информации об объекте:
Результат зависит от объекта.
При использовании некоторых типов данных (целых и списков, например) эти два метода дают одинаковый результат:
Для строк результат набора команды «print имя» немного отличается от результата, полученного для ввода имени. В первом случае значение заключается в кавычки, а во втором - нет:
Когда имя относится к блоку кода (например, функции, модулю или экземпляру класса), ввод имени предоставит информацию о виде данных, имени и месте хранения.
В следующем примере создается класс с именем Message и выводится информация о
В Python строки являются последовательностями символов. Строковый литерал создается путем заключения символов в одинарные ("), двойные (") или тройные (""" или """) кавычки. В приведенном примере присваивается значение переменной x:
Строка Python имеет несколько встроенных возможностей. Одной из них является способность вернуть свою копию со всеми Эти возможности известны как методы. Чтобы вызвать метод объекта, следует использовать точечный синтаксис. То есть после ввода имени переменной, которая в данном случае является ссылкой на объект строки, нужно поставить оператор-точку (.), а затем название метода с последующим открытием и закрытием скобки:
Можно получить часть строки с помощью оператора индексирования s[i]. Индексация начинается с нуля, так что s возвращает первый символ в строке, s возвращает второй, и так далее:
Строковые методы работают как с обычными строками, так и с "Юникодом". Они производят следующие действия:
Если строки Python ограничены символами, то списки каких-либо ограничений не имеют. Они представляют собой упорядоченные последовательности произвольных объектов, включая другие списки. Кроме того, можно добавлять, удалять и заменять их элементы. Ряд объектов, разделенных запятыми внутри и есть Что это собой представляет, показано ниже - здесь приведены примеры данных и операций с ними:
В этом примере был создан список отдельных символов. Затем в конец был добавлен элемент, обращен порядок элементов, извлечены элементы по позиции их индекса, был удален элемент со значением "U" и произведена сортировка элементов. Удаление элемента из списка иллюстрирует ситуацию, когда методу remove() необходимо предоставить дополнительную информацию, а именно значение, которое следует удалить.
Помимо методов, подобных remove(), Python обладает еще одной сходной возможностью, называемой функцией. Единственное различие между функцией и методом является то, что первая не связана с конкретным объектом.
Функции выполняют действия над одним или несколькими значениями и возвращают результат. Большое их количество встроено в Python. Примеры встроенных функций:
Также есть возможность определить свои собственные функции.
Процесс создания собственной Python-функции такой. Первая строка начинается с ключевого слова def, за которым идет имя функции и аргументы (ожидаемые входные значения), заключенные в скобки, и заканчивается двоеточием. Последующие команды составляют тело функции и должны иметь отступ. Если комментарий находится вначале тела функции, он становится частью ее документации. Последняя строка функции возвращает результат:
В этом примере была создана функция под названием transcribe, которая ожидает строку, представляющую последовательность ДНК. Метод replace() возвращает копию исходной строки с заменой всех вхождений одного символа на другой. Три строки кода позволили транскрибировать ДНК в РНК. выглядит так:
Функция reverse принимает строку, создает список, основанный на ней, и изменяет его порядок. Теперь нужно сделать обратное преобразование. Объект имеет метод join (), который объединяет список, разделяя каждый его элемент значением строки. Так как разделитель не нужен, метод используется на пустой строке, представленной двумя кавычками ("" или "").
А словарь Python - что это? Он имеет те же преимущества, что и обычный бумажный словарь. Позволяет быстро найти нужное значение (определение), связанное с ключом (словом). Словари заключаются в фигурные скобки и содержат разделенную запятыми последовательность пар ключ-значение. Словари не упорядочены. Вместо этого словарные значения доступны через их ключ, а не их позицию.
Для того чтобы создавать свои собственные объекты, необходимо определить своего рода шаблон, называемый классом. В Python для этого служит оператор class, за которым следует имя и двоеточие. Тело определения класса содержит свойства и методы, которые будут доступны для всех экземпляров объектов, основанных на этом классе.
Большинство языков программирования предлагают удобные функции, но ни один из них не обладает такой комбинацией удобства и мощности, которую предлагает Python. Что это за преимущества? Вот некоторые из них:
Наверное, много начинающих программистов не раз задавались вопросом: . Хочу по этому поводу поделится с вами своим опытом, а именно расскажу как я познакомился с Python , попал в ряды Web-разработчиков и стал разрабатывать дестопные приложения для любых систем.
О Python впервые я узнал в 2010 году. Кто понятия не имеет что это такое, может более детальную информацию о Python узнать на . Главное преимущество в Python это простота его изучения. Дело в том, что он максимально приближен к понятному (человечному) английскому языку. Вы наверное хотите мне задать вопрос: «Ведь если ты опытный разработчик РНР, то зачем тебе нужен Python?» . Дело в том, что при изучении Python, я параллельно запоминаю английские слова и одновременно их заучиваю . При этом, я занимаюсь НЕ только веб-разработкой, но работаю с дестопными приложениями для различных операционных систем, плюс к этому у меня есть возможность разрабатывать игры.
Могу сейчас с уверенностью сказать одно, что если бы была возможность вернуть время назад, то я бы в первую очередь начал изучать язык Python .
Мои уроки Python будут происходить по классическому стилю. Я научу вас всему от корки до корки. Вы узнаете все, что знаю я сам. Уже через несколько занятий попытаемся написать несложные программки, типа Hello World .
Python
print("Hello World")
print ("Hello World" ) |
После того как вы пройдете мои уроки « « , то узнаете все необходимое, чтобы в дальнейшем заниматься разработкой собственных сайтов на . Помимо этого, вы узнаете как писать дестопные приложения и консольные скрипты. После окончания обучения, все мои ученики будут иметь знания уровня Junior Python Developer .
В общем я постараюсь донести до вас максимум полезной и нужной информации в каждым моем уроке.
Если у кого-то появилось желание узнать о языке Python , после прочтения написанных выше строк, то каждый из вас прямо сейчас имеет возможность начать изучать и пополнить ряды Junior Python Developer .
Прежде чем начать изучать тот или иной язык программирования, люди обычно задумываются, как потом смогут применить свои знания и навыки на практике. Что касается Python, этот язык общего назначения пригодится во множестве различных сфер. Разработчик и основатель стартапа CS Dojo Ек Суги рассказал о трёх самых частых способах использования Python.
Фреймворки, основанные на Python, такие как Django и Flask , в последнее время приобрели широкую популярность среди веб-разработчиков. Эти фреймворки позволяют создавать серверный код (backend-код) на Python, который выполняется на сервере, в отличие от frontend-кода, исполняемого на пользовательских устройствах и в браузерах.
Веб-фреймворки упрощают разработку серверной логики: обработку URL, обращение к базам данных, создание HTML-файлов, которые видят в браузерах пользователи.
Два наиболее популярных веб-фреймворка для Python — Django и Flask. Их рекомендуется использовать начинающим разработчикам.
Отличную статью в ответ на этот вопрос подготовил Гарет Дуайер .
Основные различия:
Лучше воспользоваться:
Таким образом, Flask предпочтительнее использовать новичкам, потому что этот фреймворк имеет не настолько богатый функционал, а также тем, кому важна возможность настроить его по своему усмотрению. Кроме того, благодаря своей гибкости Flask больше, чем Django, подойдёт для разработки REST API. С другой стороны, если требуется создать простой продукт, быстрее это получится сделать на Django.
Машинное обучении лучше объяснять на наглядном примере. Пусть нужно разработать программу, которая автоматически распознаёт изображённые на картинках объекты. На первой картинке программа должна опознать собаку.
На второй она должна распознать стол.
Первый путь — написать для этого специальный код. Например, если на картинке много светло-коричневых пикселей, значит, на ней нарисована собака. Или можно найти способ распознавать границы предметов: если на рисунке много прямых линий, то это — стол.
Очевидно, что такое решение будет бесполезным, если на картинке показана, например, собака светлого окраса, у которой вообще нет коричневой шерсти, или только круглая столешница без ножек. Именно здесь раскрываются перспективы машинного обучения.
В машинном обучении обычно используют алгоритм, который автоматически ищет заданный образ во входных данных. Например, можно ввести тысячу картинок с собаками и тысячу — со столами. Далее алгоритм машинного обучения выявит разницу между собакой и столом. Когда алгоритм получит новое изображение собаки или стола, то сможет идентифицировать объект.
То есть систему обучают на конкретных примерах: ей не указывают отдельные признаки того или иного предмета, а показывают множество изображений и говорят, что на всех из них нарисован этот предмет. Аналогичным образом обучаются
Самые широко известные алгоритмы машинного обучения:
Любой из этих алгоритмов можно использовать для решения задачи с маркированием изображений выше.
Для Python есть популярные библиотеки и фреймворки машинного обучения. Две самые крупные из них — scikit-learn и TensorFlow . В scikit-learn встроены некоторые общеизвестные алгоритмы машинного обучения, о которых шла речь выше. TensorFlow — более низкоуровневая библиотека, которая позволяет строить пользовательские алгоритмы.
Чтобы изучить основы этой технологии, можно пройти курсы Стэнфордского университета или . Но для понимания некоторого материала понадобятся базовые знания матанализа и линейной алгебры.
Далее полученную информацию нужно закрепить на сайте Kaggle . Здесь можно соревноваться с другими разработчиками в создании лучшего алгоритма машинного обучения для различных задач. Сайт также предлагает полезные самоучители для начинающих.
В качестве примера можно взять аналитика данных воображаемой компании, занимающейся продажей товаров через интернет. Аналитик может представить результаты продаж в виде столбчатой диаграммы.
На диаграмме видно, что в заданное воскресенье покупатели мужского пола приобрели более 400 единиц товара, а женского — около 350. У специалиста может быть несколько предположений, почему возник этот разрыв.
Одно из очевидных объяснений — продукт более востребован среди мужчин, чем женщин. Другая возможная причина — недостаточно большая выборка, а разницу можно списать на случайность. Третий вариант — по какой-то причине мужчины склонны больше покупать этот продукт только в воскресенье. Чтобы понять, какое из объяснений истинно, можно нарисовать ещё одну диаграмму.
Необходимо принять во внимание статистику продаж не только в воскресенье, но и за всю неделю. Как видно из диаграммы, такая динамика прослеживается по всем дням. Этот небольшой анализ позволяет сделать вывод, что наиболее правдоподобная причина различия в продажах в том, что продукт просто более популярен среди мужчин, чем среди женщин.
Но если бы диаграмма выглядела так,
можно было бы заключить, что по той или иной причине мужчины активнее покупают этот товар только по воскресеньям.
Это очень простой пример анализа данных. И для этого компании используют в том числе Python, а для визуализации данных — библиотеку Matplotlib .
Matplotlib — одна из наиболее распространённых библиотек для визуализации данных. Начинать лучше с неё потому, что она проста, а также потому, что на ней основаны некоторые другие библиотеки, например, seaborn . Поэтому знание Matplotlib поможет в будущем освоить и их.
В первую очередь нужно выучить основы. Ек Суги предлагает собственное вводное видео в анализ и визуализацию данных на Python и Matplotlib на YouTube, а также полный практический курс на образовательной платформе Pluralsight, который можно получить бесплатно после подписки на 10-дневный пробный период на сайте. После этого полезно изучить основы статистики, например, на Coursera и Khan Academy.
Обычно под этим понимают создание небольших программ для автоматизации простых задач. Например, компании используют различные системы поддержки клиентов по электронной почте. Чтобы анализировать полученные сообщения, компаниям нужно подсчитать, какой их количество содержит определённые ключевые слова.
Это можно либо делать вручную, либо написать незамысловатую программу (скрипт) для автоматической обработки сообщений. Для подобных задач отлично подходит Python, главным образом благодаря относительно простому синтаксису и потому, что на нём можно легко и быстро писать и тестировать небольшие проекты.
На этом языке ведут программирование многие разработчики для Raspberry Pi и других аппаратных основ.
Для разработки игр можно использовать библиотеку PyGame, хотя существуют и более популярные игровые движки. На ней можно создавать любительские проекты, но для разработки серьёзных игр стоит поискать что-то получше.
Например, можно начинать с Unity на C# — это одна из самых общеизвестных сред разработки компьютерных игр. Она позволяет создавать межплатформенные игры для Windows, Mac, iOS и Android.
Десктопные приложения можно разрабатывать на Python с помощью Tkinter, но это также не самый частый выбор: разработчики приложений для ПК предпочитают языки Java, C#, и C++. В последнее время некоторые компании для этого начали применять и JavaScript. Например, десктопное приложение Slack построено во фреймворке Electron, использующем JavaScript. Этот язык даёт возможность повторно использовать код из веб-версии приложения, если такая имеется.
Лучше выбрать Python 3, потому что на сегодняшний день это более современная и более востребованная версия языка.