Я чувствую себя застрявшим в центре Python, Как пройти мимо новичка [закрыто]


22

Я действительно извиняюсь, если это не соответствует правилам SO, но мне нужна небольшая помощь, я лично по-прежнему считаю себя новичком в python, но я написал очень маленькую и ОЧЕНЬ НЕОБХОДИМУЮ программу для моего босса.

Я знаю, что я все еще новичок, потому что простые вещи все еще сбивают меня с толку, но каждая книга, которую я читаю для новичков, честно, просто перефразирует то, что я уже знаю, но каждая «более продвинутая» книга на самом деле не позволяет мне учиться, они зависят от примеров файлов и я никогда не понимаю, почему они создали «упомянутую» функцию или «указанный» класс. Итак, на мой вопрос ...

Есть ли какие-либо рекомендации по книге или НИЧЕГО, что отталкивает меня от этой стадии, я сначала использовал голову, и обычно они действительно хороши, но моя проблема в том, что они прослеживают меня, чтобы снова двигаться вперед, Это работает в HTML, но В Python это сбивает с толку, в основном я думаю, что мне нужно создать программу, а потом продолжать. Снова мне нравится стиль HeadFirst, но мне нужно что-то, что не заставит меня вспомнить одну вещь, просто чтобы забыть об этом ...

для записи, я зарегистрировался в некоторых книгах О'Рейли


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

6
Вы уже читали, как думать, как ученый ?
— Оскар Медерос

Вы уже ознакомились с руководством docs.python.org/tutorial/index.html ? У вас есть конкретные аспекты, которые вас смущают? Если бы вы могли проиллюстрировать их примерами кода, было бы еще лучше.
— Juanchopanza

Разве боссу не нужна большая программа, написанная на Python? Вам нужен опыт ...

2
делай, пробуй и задавай вопросы, когда ты не понимаешь, люди здесь помогут тебе.
— monkut

Ответы:


23

Хватит читать книги.

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

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

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


19

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

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

Один очень полезный способ стать лучше на любом языке программирования - просто прочитать много других программ. Хороший способ сделать это в наши дни - использовать Google, как описано в этом ответе StackedOverflow . Это отличный ресурс, и вы часто будете читать «промышленный код», написанный профессиональными программистами и используемый в других реальных приложениях.

Обновить:

Так как 15 января 2012 г. поиск Google по кодам был прекращен, помимо возврата к обычным поискам в Google, есть нечто, называемое « Коллекция фрагментов кода», которое выглядит многообещающим. В ответах на этот (закрытый) вопрос упоминается ряд других ресурсов. Замена для Google Code Search? ,


5
Акцент на нетривиальном. Чтобы научиться делать сложные вещи, старайтесь делать сложные вещи.
— Брайан Оукли

5

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

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

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


5

Если вы не уверены в базовых библиотеках Python или объектно-ориентированном дизайне (поскольку вы упоминаете, что не знаете, почему использовался «указанный» класс или «указанная» функция):

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

  2. Другой сайт S.Lott, « Навыки построения навыков в Python» , также может стать для вас отличным способом расширить свои навыки работы с Python. В нем много приложений, которые немного проще, чем книги, перечисленные ниже, но все же забавны и поучительны.


Если ваша проблема в том, что вы не можете понять, как использовать Python, чтобы сделать что-нибудь интересное:

1) Начинающий Python: от новичка до профессионала разбирается в некоторых интересных вещах: графическом интерфейсе, написании собственного приложения для обмена файлами и т. Д. Мне также нравится стиль Hetland.

2) Вы упомянули книги О'Рейли, но программирование на Python почти полностью связано с приложениями, а не с синтаксисом. В нем есть много интересных приложений, которые сделают ваши творческие соки текучими. Это огромная книга (я думаю, ~ 1500 страниц), и 4e полностью посвящена Python 3, но определенно открывает вам глаза на то, как люди используют Python.


+1 за ссылку на сайт С. Лотта ... Я никогда раньше такого не видел.
— Геррат

4

Есть две книги по Python, которые я бы порекомендовал, и одна из них уже упоминалась @MikeRand:

  • Dive Into Python 3 - обязательная книга, которая охватывает вводные и некоторые более сложные темы.
  • Программирование на Python - ИМХО подходящая книга для перехода к очень продвинутым темам Python. Он также охватывает многие области, например (G) пользовательский интерфейс, системные приложения, веб-программирование и т. Д.

Обратите внимание, что последние версии обеих книг охватывают Python 3. Если вы работаете с более старой версией Python, ищите более раннюю версию книг. FTR, альтернативный вариант - это Python для разработки программного обеспечения (бывший «Как мыслить как компьютерный учёный: обучение на Python», упомянутый @ oscar-mederos), но большая часть его содержимого также является вводной (и в этом смысле я бы рекомендовал вместо этого Dive Into Python ).


3

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


0

В дополнение к некоторым из упомянутых книг (особенно « Как думать, как компьютерный ученый» ), посетите сайт ActiveState's Python Recipes . Прочитайте некоторые вещи, которые вас интересуют, посмотрите на код, а затем выясните, как бы вы подошли к проблеме и чем это отличается от того, что в рецепте.


-1

Это довольно странное предложение, но я оказался там, где я есть, задавая вопросы и наблюдая, как другие люди задают вопросы, и читая ответы. Итак, просматривая вопросы с тегами Python в Stack Overflow, или (как в моем случае) становитесь регулярными на #python на freenode.


-3

Попробуйте книгу Уоррена и Картера Санде «Привет, мир! Компьютерное программирование для подростков и других начинающих» - так я узнал, что такое Python Scripting, или я слышал, что «Привет! Питон» Энтони Бриггса тоже фантастическая книга.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.