отчет по практике по программированию на питоне

отчет по практике. Отчет. Пояснительная записка Отчёт по дисциплине Учебная практика тпжа 090302. 024 Пз

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Институт математики и информационных систем

Факультет автоматики и вычислительной техники

Кафедра систем автоматизации управления

Пояснительная записка
Отчёт по дисциплине

Разработал студент гр. ИТб-1302-01-00 ___________/ Мотошков Д.А./

Руководитель работы ___________/ Родионов К.В./

Работа защищена с оценкой «______________» «__»__________2020 г.
Киров 2020

отчет по практике по программированию на питоне. 212093 html 8fc8d118f7078a2d. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 8fc8d118f7078a2d. картинка отчет по практике по программированию на питоне. картинка 212093 html 8fc8d118f7078a2d.

Утверждаю
Зав. каф.САУ
Ланских Ю.В.
подписьФ.И.О.
«06»июля2020г.

Учебная практика
полное название дисциплины

, обучающемуся по образовательной программе

09.03.02 – Информационные системы и технологии

полное название направления подготовки (специальности)

курс обучения
форма обучения

Индивидуальные задания, выполняемые в период практики:1. Выполнить обучающие задания, приведённые в методических указаниях, для ознакомления с методами работы с языком Python.
2. Реализовать криптографический алгоритм (Шифр A1Z26) при помощи языка Python, не используя библиотечные функции связанные непосредственно с шифрованием. Разработанная программа должна осуществлять шифрование и дешифрование текста в соответствии с вариантом. В приложении должна быть возможность ввода текста (вручную или загрузка из файла – на усмотрение разработчика), ключа (если этого требует алгоритм) и зашифрованного текста.
1. Исходные данные:Язык программирования Python, шифр A1Z26

Реферат

Мотошков Д.А. Программирование на языке Python: ТПЖА.090302.024 ПЗ: Учебная практика / ВятГУ, каф. САУ; рук. К.В. Родионов. – Киров, 2020. ПЗ 22 с., 5 рис., 2 источника, 5 прил.

ПРОГРАММИРОВАНИЕ, PYTHON, ПЕРЕМЕННЫЕ, ФУНКЦИИ, ШИФРОВАНИЕ.

Объект исследования и разработки – язык программирования Python.

Цель работы – изучить среду программирования Python и разработать программу, осуществляющую шифрование и дешифрование текста.

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

отчет по практике по программированию на питоне. 212093 html 265c8b47adc889d3. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 265c8b47adc889d3. картинка отчет по практике по программированию на питоне. картинка 212093 html 265c8b47adc889d3.Содержание

Введение 3

1 Обзор среды программирования и введение в Python 4

1.2 Преимущества и недостатки Python 5

2 Практическое изучение языка Python 8

2.1 Алгоритм k-means 8

2.2 Алгоритм k_NN 9

2.3 Математическая статистика 9

Приложение А (справочное) Листинг реализации алгоритма k-means 14

Приложение Б (справочное) Листинг реализации алгоритма k_NN 15

Приложение В (справочное) Листинг Математическая статистика 17

Приложение Г (справочное) Листинг реализации шифра A1Z26 20

Приложение Д (справочное) Библиографический список 21

import numpy as np import matplotlib.pyplot as plt from k_means import kmeans X = np.array([ [4, 4], [3, 3], [5, 3], [2, 3], [5, 5], [3, 2], [2, 4], [4, 5], [5, 4], [2, 2]]) m, n= X.shape ans = kmeans(2, X) print(ans) plt.plot(X[:,0], X[:,1], ‘bx’, ans[:,0], ans[:,1], ‘r*’, markersize=20) plt.grid() plt.show() 17

отчет по практике по программированию на питоне. 212093 html 5afaed3670090b83. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 5afaed3670090b83. картинка отчет по практике по программированию на питоне. картинка 212093 html 5afaed3670090b83.Введение

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

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

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

Python – высокоуровневый язык программирования, используемый в различных сферах IT для разработки приложений самого разнообразного назначения.
отчет по практике по программированию на питоне. 212093 html ab0b09117963d132. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html ab0b09117963d132. картинка отчет по практике по программированию на питоне. картинка 212093 html ab0b09117963d132. 1 Основы Python и обзор среды программирования

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

Но данный язык имеет несколько различных сред разработки, например PyCharm, PyDev, Geany и Spyder.

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

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

Python начал разрабатываться во второй половине 80-х гг. прошлого века. Автором Питона стал программист из Нидерландов по имени Гвидо ван Россум. Изначально язык должен был стать объектно-ориентированным. Фактически, это был язык сценариев (скриптовый язык). В феврале 1991 года Россум опубликовал исходный код языка в одной из новостных групп.

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

Впоследствии Гвидо создал специализированный портал PEP, где идет регулярное обсуждение по развитию и улучшению продукта. В 2008 года появилось большое обновление языка – Python 3.0. В этой версии были устранены многие ключевые недоработки в архитектуре ядра. Что было важно – новая версия продукта сохранила полную совместимость с более старыми вариантами.

Описания типов переменных в Python нет. Это означает, что при присваивании переменной значения интерпретатор автоматически относит переменную к одному из типов данных.

Python содержит такие структуры данных как:

1) Список (list) – похожи на одномерные массивы (список, включающий списки – многомерный массив).

2) Кортеж (tuple) – неизменяемый список.

3) «Массивы» в Python могут содержать данные любого типа, то есть в одном массиве может могут находиться числовые, строковые и другие типы данных [1].

1.2 Преимущества и недостатки Python

Рассмотрим преимущества и недостатки языка программирования Python:

1) В Python не надо заранее объявлять тип переменной, что очень удобно при разработке

отчет по практике по программированию на питоне. 212093 html a7c6389e6acd5a33. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html a7c6389e6acd5a33. картинка отчет по практике по программированию на питоне. картинка 212093 html a7c6389e6acd5a33.

2) Хорошая поддержка модульности. Вы можете легко написать свой модуль и использовать его в других программах.

3) Встроенная поддержка Unicode в строках. В Python необязательно писать всё на английском языке, в программах вполне может использоваться ваш родной язык.

4) Поддержка объектно-ориентированного программирования. При этом его реализация в Python является одной из самых понятных.

5) Автоматическая сборка мусора, отсутствие утечек памяти.

6) Интеграция с C/C++, если возможностей Python недостаточно.

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

8) Огромное количество модулей Python3. В некоторых случаях для написания программы достаточно найти подходящие модули и правильно их скомбинировать. Таким образом, можно работать с уже готовыми элементами, выполняющими различные действия.

отчет по практике по программированию на питоне. 212093 html 91d36d5e637b01ef. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 91d36d5e637b01ef. картинка отчет по практике по программированию на питоне. картинка 212093 html 91d36d5e637b01ef.

2 Практическое изучение языка Python

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

Предположим, требуется сформировать две группы студентов (УТ-11 и УТ-12) для обучения на специальности. Известны оценки абитуриентов за тесты по физике и математике. Требуется реализовать алгоритм k-means, с помощью которого выделить два кластера, описывающих формируемые группы студентов.

отчет по практике по программированию на питоне. 212093 html be25f312bc7d8e5b. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html be25f312bc7d8e5b. картинка отчет по практике по программированию на питоне. картинка 212093 html be25f312bc7d8e5b.Алгоритм k-means:

2. Центры кластеров изначально инициализируются случайным образом.

3. Каждый из объектов приписывается к ближайшему кластеру.

4. На основании объектов, вошедших в каждый кластер, центры кластеров пересчитываются.

5. Шаги 3 и 4 повторяются до тех пор, пока центры кластеров не стабилизируются, то есть на очередной итерации объекты будут принадлежать тем же кластерам, что и до этого.

Листинг программы представлен в приложении А.

Результат работы программы предоставлен на рисунке 1.

отчет по практике по программированию на питоне. 212093 html 261f642f8655eb4e. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 261f642f8655eb4e. картинка отчет по практике по программированию на питоне. картинка 212093 html 261f642f8655eb4e. отчет по практике по программированию на питоне. 212093 html 52deb8463a6fd4d. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 52deb8463a6fd4d. картинка отчет по практике по программированию на питоне. картинка 212093 html 52deb8463a6fd4d.
Рисунок 1– решение первого задания
2.2 Алгоритм k_NN

отчет по практике по программированию на питоне. 212093 html 831efb36262c2679. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 831efb36262c2679. картинка отчет по практике по программированию на питоне. картинка 212093 html 831efb36262c2679.В задании по введенным данным роста и веса определить к какому виду относится особь. Каждый вид характеризуется определенным средним значением роста и веса.

В основе kNN лежит следующее правило: объект считается принадлежащим тому классу, к которому относится большинство его ближайших соседей. Под «соседями» здесь понимаются объекты, близкие к исследуемому в том или ином смысле. Для применения метода kNN в пространстве признаков объектов должна быть введена некоторая функция расстояния. Работа программы – классификация особей с помощью реализованного алгоритма предоставлена на рисунке 2.

отчет по практике по программированию на питоне. 212093 html 48067e1097911e4a. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 48067e1097911e4a. картинка отчет по практике по программированию на питоне. картинка 212093 html 48067e1097911e4a. отчет по практике по программированию на питоне. 212093 html 8c3fb9840908bee4. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 8c3fb9840908bee4. картинка отчет по практике по программированию на питоне. картинка 212093 html 8c3fb9840908bee4. отчет по практике по программированию на питоне. 212093 html 97701acb58059619. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 97701acb58059619. картинка отчет по практике по программированию на питоне. картинка 212093 html 97701acb58059619.
Рисунок 2 – решение второго задания

Листинг программы представлен в приложении Б.

2.3 Математическая статистика

В задании нужно выполнить несколько заданий представленных ниже:

1) Создать в Python переменную, массив, матрицу с заданными, случайными целочисленными, нулевыми, единичными значениями.

2) Импортировать переменную (матрицу) из текстового структурированного файла (файл создать вручную: разделители столбцов – пробелы).

4) Вывести графики одномерных случайных величин и их плотности распределения. Команды сохранить в скрипт. Подобрать вид распределения одномерной случайной величины и его параметры. На одном графике отобразить случайную величину, уровень среднего значения и дисперсию.

5) Построить и вывести на графике автокорреляцию заданной одномерной случайной величины. Команды сохранить в скрипт.

отчет по практике по программированию на питоне. 212093 html 593ebac0c35db247. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 593ebac0c35db247. картинка отчет по практике по программированию на питоне. картинка 212093 html 593ebac0c35db247.6) Импортировать из каталога data/NDфайл *.mat с многомерными данными согласно варианта. Первые 5 столбцов считать входными значениями, последний 6 столбец – выходная величина, для которой требуется установить зависимость от входных величин.

7) Построить матрицу корреляции для всех входных и выходных величин. Сделать выводы о зависимости/независимости выходной величины от каждой из входных компонент. Отобразить точечный график для случайных величин, коэффициент корреляции для которых по модулю больше 0.8.

На рисунке 3 представлены графики, которые были получены по окончанию выполнения задания, а на рисунке 4 представлен результат работы программы.

отчет по практике по программированию на питоне. 212093 html 6fc95f1626c0377c. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 6fc95f1626c0377c. картинка отчет по практике по программированию на питоне. картинка 212093 html 6fc95f1626c0377c.Листинг программы представлен в приложении В.

Рисунок 3 – Графики, полученные в ходе работы

отчет по практике по программированию на питоне. 212093 html 7140fbb15ff4a5da. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 7140fbb15ff4a5da. картинка отчет по практике по программированию на питоне. картинка 212093 html 7140fbb15ff4a5da. отчет по практике по программированию на питоне. 212093 html fbd8315c58807d78. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html fbd8315c58807d78. картинка отчет по практике по программированию на питоне. картинка 212093 html fbd8315c58807d78. отчет по практике по программированию на питоне. 212093 html 32a13f8eb5a1cf7c. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 32a13f8eb5a1cf7c. картинка отчет по практике по программированию на питоне. картинка 212093 html 32a13f8eb5a1cf7c.
Рисунок 4 – Результат работы программы

Задание: Реализовать криптографический алгоритм (Шифр A1Z26) при помощи языка Python, не используя библиотечные функции связанные непосредственно с шифрованием. Разработанная программа должна осуществлять шифрование и дешифрование текста в соответствии с вариантом. В приложении должна быть возможность ввода текста (вручную или загрузка из файла – на усмотрение разработчика), ключа (если этого требует алгоритм) и зашифрованного текста.

Шифр подстановки— это метод шифрования, в котором элементы исходного открытого текста заменяются зашифрованным текстом в соответствии с некоторым правилом. Элементами текста могут быть отдельные символы (самый распространённый случай), пары букв, тройки букв, комбинирование этих случаев и так далее.

Шифрование/дешифрование исходных данных

Алгоритм шифрования: каждая буква заменяется своим порядковым номером в алфавите.

отчет по практике по программированию на питоне. 212093 html 69efe8def016e77b. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 69efe8def016e77b. картинка отчет по практике по программированию на питоне. картинка 212093 html 69efe8def016e77b.Процесс расшифрования: нужно прописывать цифры таким образом, чтобы они были отделены друг от друга чертой, дефисом или пробелом, главное, чтобы не были слитные цифры.

Листинг индивидуального задания представлен в приложении Г.

Номера букв латинского алфавита представлены на рисунке 5.

отчет по практике по программированию на питоне. 212093 html f1d0af66c3346964. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html f1d0af66c3346964. картинка отчет по практике по программированию на питоне. картинка 212093 html f1d0af66c3346964.

отчет по практике по программированию на питоне. 212093 html 985dbd8b1cff658c. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 985dbd8b1cff658c. картинка отчет по практике по программированию на питоне. картинка 212093 html 985dbd8b1cff658c.
Рисунок 5 – Нумерация латинского алфавита

отчет по практике по программированию на питоне. 212093 html 2760259f0155a80c. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 2760259f0155a80c. картинка отчет по практике по программированию на питоне. картинка 212093 html 2760259f0155a80c.Вывод

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

В ходе летней учебной практики были выполнены следующие задачи:

1) Ознакомление со средой разработки.

2) Изучение базовых возможностей языка программирования Python.

3) Изучение алгоритмов k-means, k_NN, основные программные свойства и методы Математической статистики.

4) Разработка криптографического алгоритма шифрования.

5) Повторение основ оформления научно-исследовательских работ в соответствии с СТП ВятГУ 101-2004 [2].

import numpy as np

def class_of_each_point(X, centers):

distances = np.zeros((m, k))

отчет по практике по программированию на питоне. 212093 html d76d0490b65b0d84. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html d76d0490b65b0d84. картинка отчет по практике по программированию на питоне. картинка 212093 html d76d0490b65b0d84.distances[i, j] = dist(centers[j], X[i])

return np.argmin(distances, axis=1)
def kmeans(k, X):
m, n = X.shape
curr_iteration = prev_iteration = np.zeros(m)
centers = np.random.random((k, n))

curr_iteration = class_of_each_point(X, centers)
while True:

sub_X = X[curr_iteration == i, :]

centers[i, :] = np.mean(sub_X, axis=0)

curr_iteration = class_of_each_point(X, centers)

if np.all(prev_iteration == curr_iteration):

# run.py

import numpy as np
import matplotlib.pyplot as plt
from k_means import kmeans

m, n= X.shape
ans = kmeans(2, X)
print(ans)
plt.plot(X[:,0], X[:,1], ‘bx’, ans[:,0], ans[:,1], ‘r*’, markersize=20)
plt.grid()
plt.show()

отчет по практике по программированию на питоне. 212093 html aa6e758a84a0139c. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html aa6e758a84a0139c. картинка отчет по практике по программированию на питоне. картинка 212093 html aa6e758a84a0139c.

Листинг алгоритма k_NN
# kNN.py
import numpy as np

import math
def k_nearest(X, k, obj):
Xn = X[:, 0:-1]

dist_arr =[dist(x, objn) for x in Xn]

unique, counts = np.unique(nearest_classes, return_counts=True)

object_class = unique[np.argmax(counts)]
return object_class

# run.py
import numpy as np
from kNN import k_nearest
X = np.array([
[33, 21, 1],
[43, 13, 1],
[18, 22, 1],
[38, 34, 1],
[62, 118, 2],
[59, 137, 2],
[95, 131, 2],
[83, 110, 2],
[185, 155, 3],
[193, 129, 3],
[164, 135, 3],
[205, 131, 3],
[145, 55, 4],
[168, 35, 4],
[135, 47, 4],
[138, 66, 4]
])

height = int(input(«Введите рост:»))
weight = int(input(«Введите вес:»))

obj = np.array([height, weight])

k = 3
object_class = k_nearest(X, k, obj)

отчет по практике по программированию на питоне. 212093 html 59ac98906d7e4267. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 59ac98906d7e4267. картинка отчет по практике по программированию на питоне. картинка 212093 html 59ac98906d7e4267.

Листинг Математическая статистика
#script.py
import numpy as np

import matplotlib.pyplot as plt

c = np.array([[1, 2, 3], [4, 5, 6]])

d = np.random.randint(2, 6, (5, 5))

отчет по практике по программированию на питоне. 212093 html 640bad03a66de972. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 640bad03a66de972. картинка отчет по практике по программированию на питоне. картинка 212093 html 640bad03a66de972.

array = np.loadtxt(‘C:/Users/m0t0s/test.txt’, dtype=np.int32)

отчет по практике по программированию на питоне. 212093 html 319144a0ecb419b. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 319144a0ecb419b. картинка отчет по практике по программированию на питоне. картинка 212093 html 319144a0ecb419b.print(np.max(data))

print(np.std(data))
return data
def task_4(data):

mean = np.mean(data) * np.ones(len(data))

var = np.var(data) * np.ones(len(data))

plt.plot(data, ‘b-‘, mean, ‘r-‘, mean-var, ‘g—‘, mean+var, ‘g—‘)

for i in range(n//2, n//2+n):

a1 = a[:i+1] if i Приложение Г

Библиографический список
1) Доля П.Г. Введение в научный Phyton [Текст]: учебное пособие/П.Г. Доля – Харьков: Харьковский Национальный Университет, 2016. – 43с.

отчет по практике по программированию на питоне. 212093 html 7b84a50902682451. отчет по практике по программированию на питоне фото. отчет по практике по программированию на питоне-212093 html 7b84a50902682451. картинка отчет по практике по программированию на питоне. картинка 212093 html 7b84a50902682451.2) СТП ВятГУ 101-2004 Общие требования к оформлению текстовых документов// Киров: ВятГУ, 2004.

Источник

Несколько полезных советов как практиковаться в Python

Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python.

Введение

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

Не смотря ни на что, имеется несколько вещей общих для всех, одна из них — Вам нужно практиковаться, очень много практиковаться!

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

Имеется много хороших советов о том, как практиковаться Python`у. Эта статья затронет всего 10 из них:

Выберете подходящее окружение

Для начала Вам следует использовать обычный Python 3 и пакетный менеджер, на операционной системе которую Вы используете. Windows, Mac OS, или любой дистрибутив Linux подойдёт для этого. (Даже Android с QPython, хотя возможности ограничены по сравнению с оригинальным Python). Позже Вы можете установить Anaconda на Windows, Mac OS или Linux. Он содержит интерпретатор Python, пакет Conda, зависимости и пакетный менеджер. С помощью него Вы сможете найти много сторонних библиотек которые могут показаться Вам полезными.

Вы должны выбрать нужную IDE (интегрированная среда разработка). Большинство популярных IDE, таких как Visual Studio, VSCode, Emacs, Vim, Sublime Text и др. имеют действительно хорошую поддержку для Python. Если Вам нравятся продукты от JetBrains, Вы можете попробовать использовать PyCharm.
Также в пакет дистрибуции Anaconda включён IDE под названием Spyder.

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

Также Вы можете посмотреть эту статью чтобы узнать больше о IDE для Python.
Помимо всего прочего, хорошей идеей будет установить и настроить линтеры для Python (Pylint, flake8 и прочие). Они являются маленькими пакетами которые просто подсвечивают проблемы Вашего кода (синтаксические, или связанные с несоблюдением стиля программирования на Python — PEP8).

Удостоверьтесь, что Вы имеете достаточную базу для изучения более сложных вещей

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

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

Пишите и улучшайте код

Написание большого количества кода для себя, является неотъемлимой частью изучения языков программирования.
Начните с кода из книг и туториалов. Затем попробуйте модифицировать его, например упростить, или более подходящим для каких-либо целей. После этого, попробуйте написать свои маленькие, но полезные программы.
Но главное, запомните одну из самых важных вещей о программирования: оно не о набирании кода, оно о понимании!

Вы будете делать ошибки. Все программисты их делают. И это вообще не плохо. Самое важное в этом — узнать, что пошло не так и конечно же, не повторять эти ошибки в будущем. Каждый раз, когда Вы получаете и исправляете ошибку, Вы становитесь немного лучшим программистом, чем Вы были раньше.
Иногда, важно вернуться назад к старому коду и попробовать улучшить его. Надеюсь, Вы увидете где Вы стали более лучше чем тогда, когда писали этот код.

Подумайте о проблемах, которые Вы хотели бы решить. В идеале, это те вопросы, которыми Вы увлечены. Эмоциональное вложение обычно улучшает результаты. Начните Ваши маленькие и средние проекты и пробуйте работать над их улучшением как можно чаще. Как только Вы изучите что-то новое, спросите себя, как Вы можете применить это к проблеме, которую вы хотите решить.

Читайте документацию

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

Документация может содержать больше деталей в некоторых моментах.

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

Изучайте более сложные вещи после основ

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

Такие темы как обработка исключений, распаковка и упаковка аргументов, *args и **kwargs, декораторы, модули и пакеты, ООП и генераторы, часто используются и Вы должны знать и понимать их на хорошем уровне.
Также имеется много продвинутых тем которые нужно изучить. Например магические методы, корутины, асинхронное программирование, многопоточность, мультипроцессность, тестирование и так далее. Это не то, что понадобится Вам в начале. Так, Вы можете начать с чего-то более простого и полезного. Например, Вам нужно мощное средство для манипуляции со строками, Вы можете попробовать регулярные выражение. Если вы работаете над научным проектом, вероятно, Вы найдёте многопроцессность интересной для Вас.

Следите за стандартами, советами и трюками в языке Python

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

Официальная документация Python содержит много информации. PEP 20, так же названый Дзеном Python, написанный Тимом Петерсом, обозначает главные принципы Python:

PEP 8, или руководство по написанию кода от Гвидо Ван Россума, B. Warsaw.
Также PEP 257, который обозначает соглашения для строк документации.

Анализируйте исходный код

Python — open-source`ный язык программирования, также как большинство популярных билиотек. Это значит, что Вы можете читать исходный код. Это часто возможно на Github, но есть и другие места где Вы можете это сделать.
Чтение и понимание кода библиотеки позволяет более лучше понимать, как она работает.

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

Интересуйтесь библиотеками

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

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

Если Вы хотите быть дата сайентистом или заниматься Machine Learning, Вам нужно начать с NumPy, который является основопологающей библиотекой, для манипуляции одно- и много-мерными массивами эффективным и простым путём. Он быстр и включает множество операций с массивами, без явного написания циклов for из Python.

Все эти библиотеки имеют превосходную документацию.

Если Вы хотите заниматься web-программированием, Вы можете изучить и попрактиковаться работать с некоторыми Python фреймворками для бэкенда. Самый популярный из них — Django, имеет большинство нужных возможностей. Это очень удобно для больших веб приложений. С другой стороны — Flask — мощный, гибкий микро-фреймворк с большим количеством дополнений. Django и Flask самые популярные Python веб-фреймворки.

Также Python имеет другие веб-фреймворки, например Pyramid, Bottle, Tornado и так далее.

SQLAlchemy — это пакет которые включает возможность работы с БД в объекто ориентированном стиле. Он часто используется в веб-фреймворках, но также в Data Science.

Станьте частью сообщества

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

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

Изучите второй язык программирования

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

Если Вы хотите быть веб-программистом, Вам вероятно нужно будет изучить JavaScript. Изучение C хорошо для лучшего понимания базовых концептов программирования, но Вы можете также писать на нём очень быстрые функции для Python. Rust это новый и очень классный язык, который уже имеет хорошую интеграцию с Python

Примеры проектов для практики

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

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

Doumly Machine Learning туториал имеет инструкции как Вы можете практиковаться в Data Science и machine learning.

Заключение

Вы прочитали несколько советов о том, как практиковаться Python. Надеюсь, они помогут Вам стать Python программистом. Запомните, что нужно много программировать, писать интересные программы, пытаться учиться на ошибках, и конечно же, стать частью сообщества.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Руководитель работыПодпись руководителяДата
Задание принялПодпись обучающегося