Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2007 18:53:49

Камикадзе
От:
Зарегистрирован: 2007-09-05
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

Создаю такую тему и называею ее именно так, потому что, наверняка, не я одни учу питон с нуля, и не у меня одного могут возникать всякие глупеньки вопросы об “азах” программирования на этом языке, и т.п. Поэтому, надеюсь, эта тема будет более или менее востребована, и народ не будет создавать отдельную тему типа “Подкиньте пару хадачек… ” (Не в обиду ;) )

И вот первый вопрос.
У меня какие-то странные косяки с вводом строковых значений в переменную:

>>> p=“”
>>> p=input()
qwe
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “<string>”, line 1, in <module>
NameError: name ‘qwe’ is not defined

Печенкой чую, что это знает каждый первоклассник, но нигде не могу найти таких простых вещей.



Офлайн

#2 Сен. 23, 2007 18:57:39

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Несложные вопросы по Python

замени input на raw_input.
input пытается интерпретировать ввод как выражение питона (Equivalent to eval(raw_input(prompt))). raw_input, соответственно, никаких иллюзий не строи



Офлайн

#3 Сен. 24, 2007 09:47:02

Камикадзе
От:
Зарегистрирован: 2007-09-05
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

Есть ли возможность осуществлять трассировку в питоне? Испльзую drPython, ночего подобного не нашел. Что посоветуете?



Офлайн

#4 Сен. 24, 2007 10:46:52

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

Камикадзе
Испльзую drPython, ночего подобного не нашел
значит он её не поддерживает.
Камикадзе
Что посоветуете?
не использовать drPython. и воспользоваться поиском по форму и подобрать себе другую IDE



Офлайн

#5 Сен. 24, 2007 12:11:25

dorian
От:
Зарегистрирован: 2006-05-18
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

Используй Eclipse с pyDev.



Офлайн

#6 Сен. 24, 2007 20:32:30

Камикадзе
От:
Зарегистрирован: 2007-09-05
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

Как понимаю, качаем Eclipse Classic и ставим плагин pyDev?



Офлайн

#7 Сен. 24, 2007 21:36:23

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

а чем Idle не устраивает ? есть еще неплохой pyCrust из wxPython з броузером переменных и классов…



Офлайн

#8 Сен. 24, 2007 23:21:12

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Несложные вопросы по Python

На самом деле именно качаем Eclipse Classic и ставим плагин pydev. Лучше, ИМХО, нет.
Другой вопрос - я не использую сейчас IDE. Совсем. Мне так удобней. Почему - ответ будет не быстрый.



Офлайн

#9 Сен. 25, 2007 14:52:26

nss
От:
Зарегистрирован: 2007-01-06
Сообщения: 103
Репутация: +  0  -
Профиль   Отправить e-mail  

Несложные вопросы по Python

> Почему - ответ будет не быстрый.

Но очень интересно его услышать.



Офлайн

#10 Сен. 25, 2007 21:04:00

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Несложные вопросы по Python

Итак, длинный ответ на тему необходимости IDE.

Зачем она нужна?

- набирать текст, пользуясь моноширинным шрифтом и раскраской синтаксиса. Очень ценно. Правда, решается любым редактором кода.
- получать подсказки. Только на мой код подсказки иногда нелепые (сильно использую метапрограммирование, а никакой IDE из мне из мне известных не способен понять, как именно метакласс класс меняет, а класс меняет экземпляр :). Подсказки - штука полезная. Но моя память вместе с документацией сильно помогают, а наиболее часто встречающиеся вещи вполне решаются автоподсказчиком по словам (как просто, да?)
- ставить и убирать комментарии. Это любой редактор для программиста умеет (если он знает Питон).
- хелп и прочая помощь. Я привык обходится документацией. Даже браузер ее худо-бедно покажет.
- автодополнение в виде закрывающих скобок и проч. Ненавижу, и сразу же отключаю. Мне проще набрать самому (и времени это занимает немного).
- иерархия модулей. В моем случае легко отображается на файловую структуру, ей и пользуюсь. Да и Питон в этом случае сильно помогает вправить мозги. А если приходится делать import hook's - у IDE сносит крышу.
- рефакторинг. IDE делает только inline method, rename method и прочую тривиальщину. Я привык ставить в этих местах

def modal(self, widget):
import warnings
warnings.warn('use doModal instead', DeprecationWarning, stacklevel=2)
return self.doModal(widget)

Довольно быстро эти затычки исчезают из проекта. Переменная заменяется дескриптором и т.д.

- отладчик. Именно из-за него долго пользовался pydev. Потом отказался. Стандартный модуль pdb при правильном использовании решает мои небольшие запросы по отладке. Нужно остановиться - напиши import pdb;pdb.set_trace(). Если функция вылетает “странно” - напиши вместо

ret = f(a,b,c)

ret = pdb.runcall(f, a,b,c)

Будет вылетать - попадет в отладчик.
Как им пользоваться - здесь
И, самое главное - НЕ ТОРМОЗИТ ПРОГРАММУ, ПОКА НЕ ВЫЗВАН. Очень уж временами напрягало.

Резюме. Пишу клиентов под винду и сервера под Юникс. Пользуюсь, в основном, Far Manager в качестве основного средства разработки (обвешанным плагинами, естественно). Очень доволен.



Отредактировано (Сен. 25, 2007 21:21:11)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version