2012-06-15 5 views
2

Это, вероятно, поразит вас, насколько эти основные вопросы, но, пожалуйста, несите меня! И если есть лучшее место, чтобы спросить, я был бы признателен за миграцию.Два основных вопроса программирования на Python

Я смотрю два учебника по Python, один из которых - «Изучите Python на жестком пути». Я не в состоянии оценить качество учебников, поэтому у меня есть несколько вопросов. (Я только начал LPTHW, так что я прошу прощения, если ответ приходит 20 упражнений позже.)

  1. В LPTHW, упражнения до сих пор были кодирования в Notepad ++ и выполнение документа текстовый из командной строки. В другом, это был «ввод команд один за другим в Python». Вопрос: что более практично для ученика? «Оба» - приемлемый ответ.

  2. В LPTHW используется первое объяснение переменных, команды символа формата% s% d и% r. Упражнение говорит «искать в Интернете, чтобы узнать обо всех них». Я сделал веб-поиск и обнаружил, что кто-то говорит: «Не используйте их, используйте новые». Вопрос: устарел ли LPTHW таким образом, и должен ли я использовать «новые»?

+0

Спасибо за все полезные ответы! Особенно приятно знать, что я не трачу время на изучение обоих. – rschwieb

ответ

3
  1. Я бы сказал, что "как". Когда вы пишете «реальные программы», вы собираетесь редактировать их в текстовых файлах и запускать их из командной строки, но интерактивная среда - отличный способ изучить, исследовать и тестировать. Я поддерживаю интерактивный сеанс python, поскольку я кодирую его как место для проверки моих предположений.
  2. Вы должны полностью изучить старый синтаксис форматирования. Он основан на отформатированных печатных средствах на языке C, и многие языки программирования используют аналогичные системы, поэтому важно знать. Это не может повредить, чтобы изучить новые вещи, а также, и это хорошее упражнение, чтобы попытаться написать те же функции форматирования как в старом, так и в новом стиле.
+0

Я полностью согласен. В пункте 2 я хочу добавить, что если вы используете старый стиль, допустим ''% s '% i', а ваша переменная i является int, она терпит неудачу. С другой стороны, вы не заметили бы ничего, если бы использовали '' {0} '. Format (i) '. Конечно, желаемый результат здесь один и тот же, но всегда полезно знать ваши типы переменных, и определение того, что ваши переменные должны быть, поможет вам в этом! –

+1

Не так: ''% s '% 33' выдает строку '' 33'' (в любом случае, в Python 2.6). Большинство вещей отлично сортируются с помощью '% s', который вызывает специальный метод' __str __() 'под капот. (И, перейдя к пункту 1, я просто проверил это в интерактивной оболочке Python, чтобы убедиться, что я не был высоким.) –

0

Idle будет немного быстрее, или PyDev плагин для затмения (также даст завершение кода и т.д.), и вы могли бы написать и запустить свой код из одного места либо из них, как и устаревает, на самом деле зависит от среды, и вы не можете пойти неправильно с thenewboston учебников на YouTube

1

Вот мое взятие:

  1. новых ученики, вероятно, предпочитает ввод команд по одному в Python на первом, потому что они получать мгновенную обратную связь и ограничены небольшими программами. Кодирование в редактор или IDE для более продвинутых пользователей. «Оба» - это окончательный, долгосрочный ответ.
  2. Может быть, LPTHW был написан для более ранней версии Python (например, 2.6). Думаю, сейчас у нас 3,2. Я бы сказал, что если вы вообще не знаете Python и просто узнаете об этом в первый раз, вам поможет даже учебник, который не находится на краю кровотечения. Возможно, некоторые детали будут меняться здесь и там, но базовый язык все равно будет хорошим.
0
  1. код Typing Python в интерактивный интерпретатор, это хороший способ, чтобы проверить вещи, в частности, если вы не хотите, чтобы создать файл для него. Полезно видеть, какие функции результатов возвращаются и что-то попробовать. Но любые программы, которые вы пишете, будут храниться в файлах, конечно. Оба они действительно являются ответом, потому что оба они используются во время разработки, только для разных целей.

  2. Новый способ форматирования строки "thestring".format(...)", где ... - все виды форматирования. Это действительно новый способ делать вещи, и вы должны использовать это вместо этого. Старые параметры форматирования делают код менее читаемым (так как вам нужно будет знать сокращения с %), и это намного проще написать "string with values: {0} and {1}".format(3, 4).

+0

Для людей, которые уже знакомы с синтаксисом форматирования '% s' на языках C-семейства (или более ранних версиях Python!), Старый стиль намного проще, особенно если вы когда-либо хотите преобразовывать строки по умолчанию: строка' ' со значениями:% s и% s "% (3,4)'. Как только вы хотите получить фантазию, они одинаково загадочны и трудны в изучении: '' {0: .4} ". Format (621.0/7.0)' versus '"% .5s "% (621.0/7.0)'. –

1

1) Оба. Создание скриптов - это то, что вы делаете с Python в больших масштабах. Использование оболочки Python также полезно показать вам, что вы можете выполнять простые сценарии с множеством опций через командную строку и не нужно создавать/компилировать целые программы и т. Д., Как на других языках.

2) Форматы изменений, но это не большое дело. Многие люди все еще используют Python 2.x, потому что Python3 ввел некоторые ненужные изменения. Просто посмотри.

1
  1. РЕПЛ Python хорош для тестирования из встроенных функций, однако, насколько писать надежные, сложные программы, вы должны записать в файл.

  2. Хотя мы находимся на Python 3.x, Python 2.x все еще широко используется. % s является держателем места для строки,% d является держателем места для целого числа, а% r является владельцем места для некоторой команды python.

Например:

a = "hello world" 
b = "%s" 
b%a == "hello world" 
a = 10 
b = "%d" 
b%a == "10" 
a = "%r" 
a%range(10) == "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" #since range(10) is a python function 
               #which returns the list of numbers 
               #from 0 to 10 
+1

Обратите внимание, что метод 'str.format' * в новом стиле * доступен в Python 2.6 и выше , – BrenBarn

+0

Благодарим вас за исправление форматирования кода. Я не знаю, почему он не работал изначально (никогда не было этой проблемы раньше ...) – user1413793

1

Я работаю через LPTHW в течение последних нескольких месяцев, и я в настоящее время на EX50. Мой короткий ответ: серьезно относитесь к Шоу и обрушайте свою задницу, работая через LPTHW! Вы увидите, что вы будете использовать как текстовый редактор, так и интерактивные сеансы, так что это не представляет реальной проблемы. Шоу не шутит о «тяжелом», но это потому, что если вы проводите время в течение нескольких месяцев и серьезно относитесь к «дополнительным кредитам», вы узнаете тонну.

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

Некоторые советы от меня:

  • ли ты эту книгу первой (гораздо проще, чем LPTH) : command line crash course. Возьмите его всерьез, сделайте флеш-карты. Мне повезло, и у меня было два ноутбука бок о бок, один Windows 7, один Linux Ubuntu. На данный момент я тяготел к кодированию всего в Linux, и я достаточно хорошо разбираюсь в материалах командной строки, которые мне действительно нужны, чтобы узнать Vim (большой сюрприз для меня)

  • Если у вас есть выбор между linux и windows, вы, вероятно, будете более счастливыми, используя linux в конце. Я думаю, что все поддерживается в Windows, но большая часть помощи там ориентирована на Linux. У меня была цель обучения бок о бок, но, как я уже говорил, на этом этапе я читаю LPTHW на моей машине Windows, пока я код на машине Ubuntu.

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

  • Из всех упражнений до сих пор «Упражнение 46: проектный скелет» было для меня самым преобразующим. Вокруг этого момента в книге я начал застревать и чувствовал себя некомпетентным.Но я продолжал борется, и через неделю или две (возможно, от 10 до 20 часов работы) что-то внезапно «щелкнуло», и теперь я чувствую, что что-то знаю. Я бы рекомендовал повторять вопросы «требуемой викторины» 3-6, пока вы не сможете сделать все это из памяти, не глядя ничего. В linux вы можете делать все эти вопросы только с клавиатуры, и я понял, как быстро все может быть, если вам не нужна мышь. Я думаю, именно поэтому я испытываю соблазн узнать Вима.

  • Наконец, пока вы работаете через LPTHW, используйте python для небольших проектов, если это возможно. Это хорошая мотивация, и вам разрешено читать дальше, чтобы понять, как устанавливать пакеты. Я нашел это довольно рано, я смог пойти на github, найти код, который мне нужен, и адаптировать его для моих собственных целей. Даже если большая часть его была таинственной, например, если __name__ = '__main__':. Я понятия не имел, что это значит, но это не помешало мне использовать питон и желание узнать больше.

ОК, удачи!

Смежные вопросы