Tags: Python Visual Studio Quickstart
Введение
Инсталляция Python в Visual Studio
Приложение «Hello, Visual Studio!»
Основы Python
GUI-приложения
Связывание Python и C/C++
Полезные ссылки
Введение
Python — это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса.
Python относится к наиболее востребованным и популярным языкам программирования. Достоинства языка:
- широкое назначение;
- кроссплатформенность;
- простота.
Python не предназначен для чего-то конкретного, это язык общего назначения: подходит для web-проектов, для desktop- и серверных приложений и даже ИИ. Он содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных.
Python реализован под всеми распространенными операционными системами и на множестве архитектур – Windows, Linux, MacOS, даже на мини-компьютерах Arduino. Система зависимостей хорошо продумана, и разворачивание приложений на другой машине происходит легко и без сюрпризов.
Python достаточно прост, сравните количество и понятность строк кода:
“Java” справляется в 5 строк, используем множество скобок.
“C” работает похоже, хоть строк и немного меньше:
Python использует одну понятную строку:
Python поддерживает любой стиль программирования. Изначально, это был объектно-ориентированный язык, но со временем он стал поддерживать и парадигму функционального программирования. Обычно за изучение Python берутся те программисты, у которых уже имеется опыт работы с языками C++ или Java, а также функциональным языком (например Lisp).
Профессиональным программистам Python также необходимы знания:
- веб-фреймворка Django;
- Java, и C/C++;
- JavaScript, REST, CSS, HTML, Web Sockets, AJAX, Canvas;
- систем управления базами данных.
Python — интерпретируемый язык. В этом его главный недостаток. Программы, написанные на Python, работают медленнее, чем созданные на компиллируемых языках (C, C++). Но медленный код можно переписать на C или C++ и связать его с Python.
Выполнение Python кода осуществляется в подходящем окружении, таком как Visual Studio и веб-серверы.
Инсталляция Python в Visual Studio
- Установка поддержки Python в Visual Studio 2017 (описано просто)
- Как установить поддержку Python в VS под управлением Windows (описано подробно).
Приложение «Hello, Visual Studio!»
Подробнее об особенностях отладки и управления Python см. шаги 4-6 из Учебник. Работа с Python в Visual Studio (Tutorial: Work with Python in Visual Studio).
Основы Python
См. Основы языка программирования Python за 10 минут
GUI-приложения
Python поддерживает большое количество библиотек для создания GUI-приложений: Tkinter, PyQt, PyGTK и др.
Tkinter, в отличие от других библиотек — стандартный модуль Python. Он прост и по быстрому дает навык работы с GUI. Основные принципы работы с другими библиотеками не сильно отличаются:
- всякий GUI-инструмент имеет некоторый набор графических компонентов (виджетов — widget) и средства для компоновки таких виджетов в окне приложения, а каждый из компонентов имеет свой специфический набор событий, которые он может генерировать;
- для каждого потенциально возможного (обрабатываемого) события назначается функция обратного вызова (callback функция), которая будет вызываться при наступлении этого события (обработчик события);
- при возникновении событий, для которых не были назначены обработчики, они будут игнорироваться;
- создаётся бесконечный цикл опроса (ожидания) событий (главный цикл), порождаемых действиями пользователя (ввод с клавиатуры, перемещение указателя или нажатие кнопки мыши и т.д.);
- на каждом «витке» главного цикла приложения анализируются наступившие (со времени предыдущего «витка») события, и для каждого такого события вызывается его обработчик, если ожидающих событий несколько, то они обрабатываются в порядке очереди;
Курс «Tkinter. Программирование GUI на Python» кратко и доступно знакомит с особенностями создания графического интерфейса пользователя средствами пакета tkinter. В разделе Что такое Tkinter приводится описание простого приложения «Преобразователь текста».
Код программы «Преобразователь текста».
from tkinter import * class Block: def __init__(self, master): self.e = Entry(master, width=20) self.b = Button(master, text="Преобразовать") self.l = Label(master, bg='black', fg='white', width=20) self.e.pack() self.b.pack() self.l.pack() def setFunc(self, func): self.b['command'] = eval('self.' + func) def strToSortlist(self): s = self.e.get() s = s.split() s.sort() self.l['text'] = ' '.join(s) def strReverse(self): s = self.e.get() s = s.split() s.reverse() self.l['text'] = ' '.join(s) root = Tk() first_block = Block(root) first_block.setFunc('strToSortlist') second_block = Block(root) second_block.setFunc('strReverse') root.mainloop()
В статье Введение в Tkinter приводится описание приложения «Текстовый редактор».
Код программы «Текстовый редактор».
from tkinter import * from tkinter import filedialog def Quit(ev): global root root.destroy() def LoadFile(ev): fn = filedialog.Open(root, filetypes = [('*.txt files', '.txt')]).show() if fn == '': return textbox.delete('1.0', 'end') textbox.insert('1.0', open(fn, 'rt').read()) def SaveFile(ev): fn = filedialog.SaveAs(root, filetypes = [('*.txt files', '.txt')]).show() if fn == '': return if not fn.endswith(".txt"): fn+=".txt" open(fn, 'wt').write(textbox.get('1.0', 'end')) root = Tk() panelFrame = Frame(root, height = 60, bg = 'gray') textFrame = Frame(root, height = 340, width = 600) panelFrame.pack(side = 'top', fill = 'x') textFrame.pack(side = 'bottom', fill = 'both', expand = 1) textbox = Text(textFrame, font='Arial 14', wrap='word') scrollbar = Scrollbar(textFrame) scrollbar['command'] = textbox.yview textbox['yscrollcommand'] = scrollbar.set textbox.pack(side = 'left', fill = 'both', expand = 1) scrollbar.pack(side = 'right', fill = 'y') loadBtn = Button(panelFrame, text = 'Load') saveBtn = Button(panelFrame, text = 'Save') quitBtn = Button(panelFrame, text = 'Quit') loadBtn.bind("<Button-1>", LoadFile) saveBtn.bind("<Button-1>", SaveFile) quitBtn.bind("<Button-1>", Quit) loadBtn.place(x = 10, y = 10, width = 40, height = 40) saveBtn.place(x = 60, y = 10, width = 40, height = 40) quitBtn.place(x = 110, y = 10, width = 40, height = 40) root.mainloop()
Связывание Python и C/C++
См. Создание расширения C++ для Python (Create a C++ extension for Python)
Полезные ссылки:
- Python. Learn the most important language for data science.
- Python. Data Visualization
- Работа с модулями: создание, подключение инструкциями import и from
- Why Python is not the programming language of the future
- Руководство по языку программирования Python
- Учебник. Работа с Python в Visual Studio (Tutorial: Work with Python in Visual Studio )
- Основы языка программирования Python за 10 минут
- Python. Введение в программирование
- Язык программирования Python 3 для начинающих
- 3 самых важных сферы применения Python
- Polymorphism in Python
- Классы в Python
- Python/Функциональное программирование на Python
- Функциональное программирование на языке Python
- Спасательный круг для собеседования на Python-разработчика
- The Python Tutorial
- Веб-фреймворк Django (Python)
- Тонкости использования языка Python: Часть 9. Разработка GUI-приложений
- Введение в Tkinter
- Tkinter. Программирование GUI на Python.
- Building Hybrid Systems with Boost.Python
- Пишем графическую программу на Python с tkinter
- Тонкости использования языка Python: Часть 8. Особенности взаимодействия с C++.
- Инструменты Visual Studio для сценариев ИИ
- Understanding numpy data types
Автор: Николай Свирневский