Научитесь читать документацию Python за 54 секунды
Написано для студентов буткемпа или тех, кто пытается быстро учиться, не имея опыта программирования.
Не бойтесь документов
Да, они плотные и полны жаргона. Они помогут вам
Что почему?
Гуглить не всегда хорошо
Каждая из концепций, которые вы изучаете, живет яркой и постоянно развивающейся собственной жизнью.
Люди на Stackoverflow или Reddit часто пытаются делать очень сложные вещи. Вы пытаетесь изучить основы.
Если вам нужно использовать Google и у вас мало времени, используйте stackoverflow или reddit из-за системы ранжирования. Некоторые библиотеки (читай: matplotlib) сложно полностью понять без документации.
⠀⠀⠀
ГЛАВНАЯ ИДЕЯ: Основные концепции объектно-ориентированного программирования помогут вам понять
- Сорт
- Объект
- Функция против метода
- Параметр против аргумента
- Атрибут
- Модули
- Создать экземпляр. Что можно создать? Что это значит?
⠀⠀⠀
Эту информацию можно использовать для решения многих кодов ошибок без поиска в Google.
Вы также можете использовать его для более успешного взаимодействия с любой библиотекой:
Много ли я знаю об этом нишевом варианте градиентного спуска? Нет, я не.
Знаю ли я, как взаимодействовать с pymc.SVGD? Да.
Я многое знаю об этом только из документации, в том числе о том, какие ошибки я могу ожидать увидеть и почему они будут происходить.
⠀
Пример — линейная регрессия
Визуальная разбивка справочника по API scikitlearn.
Чтобы отвечать на вопросы викторины, вам не обязательно знать scikitlearn или линейную регрессию. Ответы на картинках.
⠀
Начни здесь"
Эта страница сообщает мне, что sklearn.linear_model — это модуль.
Нажмите linear_model.LinearRegression.
- (что такое МОДУЛЬ? как вы с ним взаимодействуете? поищите!)
⠀
теперь мы здесь:
⠀
Какую информацию я получу от этого?:
Показывает, как получить доступ к линейной регрессии и из какого она модуля. Помните, мы пришли сюда из модуля linear_model.
from sklearn.linear_model import LinearRegression
⠀
Это показывает, что LinearRegression является КЛАССОМ.
Иногда это включено, иногда нет. Приятно, когда оно есть.
- (что такое CLASS? как вы с ним взаимодействуете? поищите!)
⠀
Конструктор класса LinearRegression с параметрами. Значения по умолчанию обозначаются знаком =, за которым следует значение по умолчанию.
Что я имею в виду под «конструктором класса»? Вот как это выглядит в виде кода:
⠀
Нажмите, чтобы увидеть исходный код LinearRegression.
зачем вам это делать?
- У вас есть вопрос о том, почему что-то так оно и есть
- Код изменился, а документы устарели.
⠀
Описание класса LinearRegression.
- Совет: узнайте, являются ли ключевые слова в этом разделе словами, относящимися к библиотеке, старыми и важными математическими понятиями,илинестандартными. Математика 21 века.
- Это поможет вам избежать путаницы и эффективно управлять временем.
⠀
Теперь давайте посмотрим на остальную часть страницы.
Концепции программирования структурируют все на этой странице.
- Что такое параметры, атрибуты и методы? Погуглите их!
⠀
1. Параметры
Это все параметры, которые мы можем использовать при создании экземпляра LinearRegression.
lr = LinearRegression(parameter1=value, parameter2=value)
⠀
Имя параметра
⠀⠀
типы данных, допустимые для параметра.
- Здесь написано «логическое значение», поэтому наш единственный выбор здесь — «Истина» или «Ложь».
⠀
если мы запустим следующий код Python, какую ошибку мы получим?
from scikitlearn.linear_model import LinearRegression as lr
lr = LinearRegression(fit_intercept = 'no, thank you')
⠀
Значение по умолчанию для параметра. Если его нет, то его можно написать в тексте описания ниже.
⠀
если мы запустим этот код, будет ли наша линейная регрессия вычислять точку пересечения?
lr = LinearRegression()
⠀
В некоторых документах указывается, является ли параметр необязательным или нет. Это можно написать здесь, а можно в тексте описания.⠀⠀
⠀
Краткое описание параметра.
- Если вы не знаете, что, черт возьми, означают слова в этом описании, либо не используйте его, либо исследуйте, пока не узнаете! Да, я говорю о гиперпараметрах.
⠀⠀
2. Атрибуты
Все атрибуты, к которым мы можем получить доступ для класса. Атрибуты доступны через точечную нотацию:
lr.exampleattribute_
Не все атрибуты равны. Подробнее читайте в Атрибутах класса здесь.
⠀⠀
Имя атрибута.
⠀⠀
Что представляет собой атрибут (тип.)
⠀
Что вернет следующий код?
lr = LinearRegression()
lr.fit(X_train, y_train)
type(lr.coef_)
⠀
Описание атрибута.
⠀
⠀
Примеры: Другие библиотеки
Вопросы
на что ориентироваться?
- Типы. Проверяйте документацию и чаще запускайте type() в своем коде, и вы увидите меньше ошибок!
как выучить слова объектно-ориентированного программирования?
- Это — хороший ресурс.
Почему документы библиотеки ‹x› выглядят иначе?
- Некоторые документы просто построены по-другому. Это руководство было написано, чтобы помочь вам разобраться с документацией по matplotlib, pandas, NumPy, scikitlearn и statsmodels.
метод ‹x› отсутствует в документах/ссылки не работают, почему?
- Поддержание библиотеки с открытым исходным кодом требует большой работы.
вы не закончили страницу LinearRegression
- Нет, я не делал. Я обновлю позже. Этого достаточно, чтобы вы начали!