Задать вопрос
@N_lible
Новичок в IT, DATA SCIENCE.

Как у вас происходило обучение python?

Для меня язык программирования Python первый, и на основе этого вопрос. Я прочёл книгу Марка Лутца "A byte of python" и во время прочтения и в конце книги было пару заданий, например вот одна из них: ""Создайте собственную программу «Адресная книга», работающую из командной строки и позволяющую просматривать, добавлять, изменять, удалять или искать контактные данные ваших знакомых. Кроме того, эта информация также должна сохраняться на диске для последующего доступа. Это достаточно простая задача, если думать о ней в терминах, которые мы до сих пор проходили.""
Дело в том что для меня это совсем не простая задача, смотрю на начало кода и сильно туплю, чувствую что писать буду это в лучшем случае неделю. Знаю что практика наше всё, поэтому начну пробовать на codewars или его подобных сайтах, параллельно читая книгу Лутца "Изучаем python", либо "Простой python: Современный стиль программирования" Автор Билл Любанович.
И собственно сам вопрос. Как у вас шло изучение? Хватило ли вам одной книги чтобы написать программу которая описана выше? Если вы уже пишите на python напишите пожалуйста как вы его изучали?
  • Вопрос задан
  • 3829 просмотров
Подписаться 5 Простой 2 комментария
Ответ пользователя Uragiremono К ответам на вопрос (11)
@Uragiremono
Изучаю python, первый язык. Работаю с сетями, потому знакомство с python начал с прекрасной книги Наташи Самойленко Python для сетевых инженеров(книга абсолютно бесплатна).

Как у вас шло изучение?
Если вы уже пишите на python напишите пожалуйста как вы его изучали?

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

Хватило ли вам одной книги чтобы написать программу которая описана выше?

"A byte of python" не читал. Только "Python для сетевых инженеров", книгу освоил примерно на 20%, это 2 главы Основы Python и Повторное использование кода.

Эту задачу не решал, но примерно уже понимаю как сделать:
* для удобного взаимодействия со скриптом из командной строки, использовать модуль argparse
* данные хранить в БД или просто в .txt файле или вообще сохранять объект(например словарь вида:
{
    'ivan':{'number':'123', 'address':'pushkina'},
    'magomed':{'number':'456', 'address':'lenina'}
}
)
* написать функций для просматривать, добавлять, изменять, удалять или искать контактные данные, которые будут взаимодейстовать с данными в БД/файлом/объектом

Всё сводится к тому, что надо запомнить инструменты python'а(часто можно услышать от аксакалов python, что программирование это знание алгоритмов, а ЯП это просто инструмент, что конечно верно, но и как пользоваться инструментами тоже надо помнить, иначе это перманентный гуглёж):
* типы данных, какими они бывают(изменяемые упорядочные и т.д.), как с ними взаимодействовать
* функции
* методы
* операторы
* циклы
Это пока всё что я прошёл, даже с такими минимальными знаниями, я облегчил себе работу, автоматизировал рутинные задачи у себя на работе.

Если что-то не понимаю, тупо гуглю, например задача: надоело прописывать логины/пароли при входе на коммутаторы.
Гуглишь, на английском обычно больше инфы: подключиться к коммутатору python / connect to switch python
узнаёшь про модуль pexpect, читаешь документацию, пишешь свой скрипт, всё, теперь в копилке знаний есть модуль pexpect, в следующий раз быстрее решишь задачу.

Таким макаром пишу свои велосипеды, решил их публиковать, мало ли кому понадобиться, велопарк: https://github.com/Savamoti/scrips_for_reinventing...
Рекомендую познакомиться с PEP8, не забывать писать комменты(у самого плохо получается пока) к коду, иначе через месяц уже не вспомнишь, для чего это функция, что ожидает и что возвращает.
Ответ написан
Комментировать