Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 6

Уровень 5: Практика интервьюирования в Python

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

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

На самом деле их серия.

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

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

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

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

Это когда начинается уровень 6.

 

Уровень 6: Продвинутый Python

Если вы хотите осваивать свободное владение языком Python и поднять свои навыки на следующий уровень, тогда мы настоятельно рекомендуем книгу “Fluent Python”.

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

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

В дополнение к этому вы также узнаете несколько новых концепций.

Например, некоторые из новых понятий, которые вы изучите в этой книге,

  1. Функции высшего порядка: объясняет, как функции могут быть использованы в качестве первого класса
  2. Объекты в Python
  3. Управление потоками: охватывает тему генераторов, менеджеров контекста, сопрограмм и параллелизма
  4. Метапрограммирование: по сути это написание кода, который манипулирует кодом. Некоторые из обсуждаемых здесь тем — декораторы и мета-классы.

 

Необязательно 1: библиотеки и фреймворки Python

Теперь у вас есть все основы, вы профессионал в Python.

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

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

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

 

1. Создание сервисов API с помощью Python (Flask)

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

Эта архитектура называется архитектурой микросервисов [оповещение модным словом], а каждое из этих небольших приложений называется услугой или микросервисом.

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

Другими словами, каждый из этих сервисов будет предоставлять HTTP API, с которым смогут общаться другие сервисы.

С учетом сказанного, это очень хорошая инвестиция, чтобы узнать, как создавать сервисы API в Python.

И одна из самых популярных библиотек Python, которая делает это очень простым — это Flask.

 

2. Создание веб-приложений с помощью Django

Django — это полноценный веб-фреймворк, который позволяет вам создавать в Python целое веб-приложение (как интерфейсное, так и фоновое).

Изучая Django, вы также познакомитесь с некоторыми понятиями, которые очень популярны в других веб-фреймворках на других языках, таких как MVC (модель-представление-контроллер) и ORM (объектно-реляционное отображение).

MVC — это способ структурирования и организации вашего веб-приложения, тогда как ORM — это метод, который устраняет разрыв между объектно-ориентированным программированием и доступом к данным в базе данных.

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

Так что засучите рукава и создайте свое первое веб-приложение.

 

3. Библиотеки машинного обучения

Python стал де-факто языком для машинного обучения и науки о данных.

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

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

Введение в статистическое обучение  — отличное место для начала.

Как только вы освоите основы, начните играть с этими библиотеками Python.

  • scikit-learn. В этой библиотеке есть все под солнцем, когда дело доходит до алгоритмов ML.
  • Tensorflow. Еще одна очень популярная среда машинного обучения с открытым исходным кодом.
  • pandas. Популярная библиотека для анализа данных.

 

Необязательно 2: реализация Python (CPython)

Python — это интерпретируемый язык.

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

Хотите посмотреть, как выглядит байт-код для простой программы Hello World ?

Давайте создадим исходный файл helloworld.py

# helloworld.py

print("привет мир")

 

Вот как просмотреть байт-код для приведенного выше исходного кода

$ python3 -m dis helloworld.py

2           0 LOAD_NAME                0 (print)

            2 LOAD_CONST               0 ('привет мир')

            4 CALL_FUNCTION            1

            6 POP_TOP

            8 LOAD_CONST               1 (None)

           10 RETURN_VALUE

 

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

Существуют различные реализации Python для компилятора и интерпретатора.

Тем не менее, CPython  является стандартным и наиболее широко используемым. Это полностью написано на C.

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

Так почему мы говорим о реализации Python?

Вам действительно нужно знать эти мелкие детали Python, чтобы стать мастером Python?

Честно говоря, ответ — нет.

Но если вам интересно узнать, как реализован список, кортежи, функции и т. д. в Python, и если вы хотите выучить новый язык (C) по ходу дела, то, возможно, вам следует рассмотреть возможность участия в CPython.

 

Начало:



2020-04-30T09:14:58
Python