Size: a a a

Сообщество Python Программистов

2020 February 02

A

Axenia in Сообщество Python Программистов
ArcherGodson (0) увеличил карму alext18 (117.39)
источник

AE

A.Krasilnikov Emoteview.ru in Сообщество Python Программистов
Vadim Korotov
Механизм исключений часто используют в функциях что бы не создавать побочных эффектов. Например, пишешь калькулятор и при обработке деления проверяешь на ноль. И если это простой консольный калькулятор ты можешь просто вывести принтом "на ноль делить нельзя" и проблема закрыта. Но если ты будешь усложнять приложение, добавить GUI, например, тогда нужно разделить логику и отображения, разбить на функции, модули... И тогда вычисления попадают в функцию вроде def calc(a:float, b:float) -> float
Теперь у функции одна задача мы ждём от нее число за вывод сообщений отвечает другие части программы. И тут как раз подходит выброс исключения, которое обработается в нужном месте.
ну... я же могу в IF сказать "если делим на ноль - то нельзя". Вот где тут разница с аналогичным exception ?
источник

AG

Archer Godson in Сообщество Python Программистов
-
источник

A

Axenia in Сообщество Python Программистов
ArcherGodson (0) уменьшил карму linuxoidid (9.6)
источник

VK

Vadim Korotov in Сообщество Python Программистов
A.Krasilnikov Emoteview.ru
ну... я же могу в IF сказать "если делим на ноль - то нельзя". Вот где тут разница с аналогичным exception ?
Тут разница больше в архитектуре. В строго типизированных языках выбрас исключения имеет больший вес, потому что если функция должна вернуть число мы не можем бросить None или строку. В python можно, но это плохая практика.
источник

AE

A.Krasilnikov Emoteview.ru in Сообщество Python Программистов
Vadim Korotov
Тут разница больше в архитектуре. В строго типизированных языках выбрас исключения имеет больший вес, потому что если функция должна вернуть число мы не можем бросить None или строку. В python можно, но это плохая практика.
Понимаешь, я идиот (зачёркнуто), перфекционист и педант. Мне надо точно понять:
1. IF юзаем тогда-то и тогда-то и не юзаем вместо exception
2. exception юзаем вот в таких конкретных случаях (или всегда всегда)
3. в некоторых кейсах допустимо юзать IF вместо exception. (в каких?)
С дотошностью у меня всё плохо. Я прошлую ночь уже плохо спал из-за обсуждаемого вопроса. До сих пор точного ответа не нашел (
источник

ᅠᅠ

ᅠ ᅠ in Сообщество Python Программистов
Привет,я новичок в пайтоне хочу запустить файл видает ошибку если не сложно обясните как правильно запустить зарание спасибо :)
источник

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
ᅠ ᅠ
Привет,я новичок в пайтоне хочу запустить файл видает ошибку если не сложно обясните как правильно запустить зарание спасибо :)
Надо в одну строку писать
python myfile.py
Прям в командной строке, если ты сначала написал python, то открылся интерактивный питон, нужно сначала выйти ctrl+c и уже написать
источник

L

LM in Сообщество Python Программистов
ᅠ ᅠ
Привет,я новичок в пайтоне хочу запустить файл видает ошибку если не сложно обясните как правильно запустить зарание спасибо :)
win+r, в открывшиеся окно пишешь cmd, после на кнопку "выполнить", там пишешь py <путь до файла>
источник

VK

Vadim Korotov in Сообщество Python Программистов
Vadim Korotov
Тут разница больше в архитектуре. В строго типизированных языках выбрас исключения имеет больший вес, потому что если функция должна вернуть число мы не можем бросить None или строку. В python можно, но это плохая практика.
Если продолжать идею о калькуляторе с графическим интерфейсом. Я бы отправлял выражение пользователя в функцию которая возвращает ответ и обернул бы в try и при  исключених и выводить пользователю сообщения о том что он делал неиак не так. И совсем не важно сколько внутри функций классов методов внутри функции подсчёта. И где именно проверка деления на ноль. Исключения просто передаются "выше". В случае с ифами требуется больше связанности и контроля
источник

ᅠᅠ

ᅠ ᅠ in Сообщество Python Программистов
Спасибо большое :)
источник

SS

Semyon Sv in Сообщество Python Программистов
A.Krasilnikov Emoteview.ru
задачу-то эту я решил, но дальше началось у меня в голове:
А что если на функцию подадут не цифры, а буквы?
А что если цифры будут вне рэнжа 1 до 100. С помощью if мне подобное ведь легко ловить. Или надо exeptions как-то умно ловить?
Есть же assert для таких вещей
источник

L

LM in Сообщество Python Программистов
ᅠ ᅠ
Спасибо большое :)
не за что, обращайся)
источник

AE

A.Krasilnikov Emoteview.ru in Сообщество Python Программистов
Vadim Korotov
Если продолжать идею о калькуляторе с графическим интерфейсом. Я бы отправлял выражение пользователя в функцию которая возвращает ответ и обернул бы в try и при  исключених и выводить пользователю сообщения о том что он делал неиак не так. И совсем не важно сколько внутри функций классов методов внутри функции подсчёта. И где именно проверка деления на ноль. Исключения просто передаются "выше". В случае с ифами требуется больше связанности и контроля
а, во.. так уже почти понятнее
источник

VK

Vadim Korotov in Сообщество Python Программистов
A.Krasilnikov Emoteview.ru
а, во.. так уже почти понятнее
Когда изучал меня тоже помню беспокоило это) просто в примерах показано скорее синтаксис, и не особо показывают для чего это. В малом коде их польза видна если надо работать с файлами. Файла может не быть, или не быть к нему доступа. Такие случаи просто крашнут программу. Ифом особо не проверишь, вот тут смысл ловли исключений на лицо
источник

AE

A.Krasilnikov Emoteview.ru in Сообщество Python Программистов
Semyon Sv
Есть же assert для таких вещей
в уроке сказано "поднять эксепшн" и не волнует ))
ассерты ещё не проходили
источник

AE

A.Krasilnikov Emoteview.ru in Сообщество Python Программистов
Vadim Korotov
Когда изучал меня тоже помню беспокоило это) просто в примерах показано скорее синтаксис, и не особо показывают для чего это. В малом коде их польза видна если надо работать с файлами. Файла может не быть, или не быть к нему доступа. Такие случаи просто крашнут программу. Ифом особо не проверишь, вот тут смысл ловли исключений на лицо
+
источник

A

Axenia in Сообщество Python Программистов
amindmobile (0) увеличил карму mvnby (39)
источник

V

Vlad in Сообщество Python Программистов
Как же всё-таки кардинально отличаются книги "Укус питона" Сварупа и "Программирование на python" Лутца🤔
В первой всё объясняют простыми словами, а во второй немного сложнее, но обширнее. Начал бы я с Лутца, наверное забросил бы😅
источник

AI

Artem Ivashenko in Сообщество Python Программистов
Ребят, подскажите как создавать экземпляры классов динамически?
источник