Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 16, 2015 08:52:34

apanyovin
От:
Зарегистрирован: 2008-12-25
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

PyCharm свернуть if, for etc

Добрый день.

Подскажите, есть ли в pycharm возможность настроить сворачивание циклов и условий как функций.

А то руками фолдинг для блока каждый раз делать не удобно.

спасибо



Офлайн

#2 Окт. 20, 2015 21:13:15

alexte
Зарегистрирован: 2015-10-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

PyCharm свернуть if, for etc

Маленький совет: пишите код так, чтобы тело циклов и условий не было большими, иначе потом не разберетесь в своем же коде.

Офлайн

#3 Окт. 20, 2015 21:21:52

apanyovin
От:
Зарегистрирован: 2008-12-25
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

PyCharm свернуть if, for etc

Это понятно, но щас идет обработка евентов и там без if никак
грубо схема такая
if a==b: a()
elif a==c: f()

и тд

просто стало интересно, в чем проблема)))



Офлайн

#4 Окт. 20, 2015 22:38:32

alexte
Зарегистрирован: 2015-10-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

PyCharm свернуть if, for etc

Вот кривенький, но рабочий пример как можно это реализовать в классе…

class TestIf:
    def __init__(self):
        self.select_str = {
            'a123': self.a123
        }
    def select1(self, txt_str):
        if txt_str in self.select_str:
            self.select_str[txt_str]()
    def a123(self):
        print('a123')
tst = TestIf()
tst.select1('a123')
Что-то тег code глотает пустые строки, тяжело читать

Отредактировано alexte (Окт. 20, 2015 22:40:12)

Офлайн

#5 Окт. 21, 2015 13:49:33

apanyovin
От:
Зарегистрирован: 2008-12-25
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

PyCharm свернуть if, for etc

Отличный пример, Спасибо!



Офлайн

#6 Окт. 21, 2015 14:06:12

apanyovin
От:
Зарегистрирован: 2008-12-25
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

PyCharm свернуть if, for etc

еще один вариант реализации - проверить на “вызываемость”
if callable(method):
return method(ctx)
else:
return else(ctx)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version