Форум сайта python.su
Всем привет!
Мне очень часто нужно в GET параметрах передавать числовые значения. В связи с этим вопрос: как лучше всего проверить число мне пришло или нет.
Пока что использую конструкцию:
try: int(x) except: return None
Офлайн
Зачем?
request.GET['name']
Отредактировано FishHook (Ноя. 23, 2013 21:58:20)
Офлайн
def toint(n,default=0): try: return int(n) except ValueError: return default
Отредактировано Singularity (Ноя. 23, 2013 23:16:50)
Офлайн
FishHook
Singularity
Спасибо, а что на счёт второго вопроса?
Офлайн
fobiasmogВы должны понимать, для чего Вы что-то делаете. Естественно, перехват исключений и их обработка - это нормальная практика,
Спасибо, а что на счёт второго вопроса?
except: return None
Отредактировано FishHook (Ноя. 23, 2013 23:12:19)
Офлайн
FishHookЗависит же от задачи.
я не понимаю чем это Ваш код…
может быть полезен в веб-программировании. Какой смысл то?
fobiasmogДля проверок значений - нет.
Второй вопрос: использование try-except это хорошая практика?
Офлайн
Lexander
явные это как ? у нас же строка на входе
Офлайн
Singularity
Lexander явные это как ? у нас же строка на входе
'123'.isdigit()
Офлайн
SingularityЯвные - это прямым вызовом проверяющих функций и сравнений.
явные это как ?
Офлайн
Кстати, ближе к примеру автора:
int(1.23) исключения тоже не выдаст, вернет 1.
Офлайн