Форум сайта python.su
добрый день. Пишу приложуху, и на сегодняшний день получилась такая функция
def paraphine_full_distribution(self): ''' распределение всего состава по 3 группам: нормальные парафины, изопарафины и водород учитываются все компоненты :param data: входные данные :type data: calculate_file ''' izo_paraphine_data = [[], []] norm_paraphine_data = [[], []] h2_data = [ [x for x in np.linspace(-300, -250, 6)], [random.randint(0, 30) for x in range(0, 6)]] h2_data[1][2] = 100 for i, item in enumerate(self.full_components): if item in self._criterion_norm_paraphine: norm_paraphine_data[0].append(item) norm_paraphine_data[1].append( self.full_composition[self.level_composition][i]) elif item in self._criterion_izo_paraphine: izo_paraphine_data[0].append(item) izo_paraphine_data[1].append( self.full_composition[self.level_composition][i]) return {'x': np.array(izo_paraphine_data[0]), 'y': np.array(izo_paraphine_data[1])},{'x': np.array(norm_paraphine_data[0]), 'y': np.array(norm_paraphine_data[1])},{'x': np.array(h2_data[0]), 'y': np.array(h2_data[1])}
Офлайн
Форматирование сделать. Не плохо помогает для этого flake8. Это конечно при условии что вы изучили рекомендации в PEP8.
Офлайн
JOHN_16а этим занимается vscode.
Форматирование сделать. Не плохо помогает для этого flake8. Это конечно при условии что вы изучили рекомендации в PEP8.
Офлайн
>>> d ={ 1:2, 2:3, 3:4, } >>> d {1: 2, 2: 3, 3: 4} >>>
Офлайн
druidich92ну судя по всему либо вы просто в тупую игнорируете, либо не умете им пользоваться - там же куча красным помечено!
а этим занимается vscode.
Прикреплённый файлы: ttt.py (1,6 KБ)
Офлайн
1) У тебя не функция, а метод.
2) Документация не соответствует действительности
3) Давай переменным короткие имена
4) Для отступов используй табуляцию
5) Используй переносы в словарях и списках
6) Изменяемое состояние это зло. Не надо его так агрессивно использовать! В место списков izo_paraphine_data и norm_paraphine_data создай 4 списка и нормально заполняй их не пользуясь индексами.
P.S. PEP8 это анахронизм не используй его.
Отредактировано Rodegast (Апрель 28, 2018 11:00:40)
Офлайн
Rodegastт.е. не 4 пробела, а именно символ код табуляции \t ?
4) Для отступов используй табуляцию
Rodegasta, b, c наше все? Или как? Что ты советуешь?
3) Давай переменным короткие имена
Rodegastвот с таким советом поаккуратнее. он не совсем корректен. В PEP8 есть некоторые устаревшие вещи, но не весь он сам.
PEP8 это анахронизм не используй его.
Офлайн
> т.е. не 4 пробела, а именно символ код табуляции \t ?
Да. Табуляцией намного удобнее делать отступы.
1) Проще набирать.
2) Не надо считать пробелы.
3) Отступы лучше визуализированны. По этому ошибиться в их количестве практически не возможно.
> a, b, c наше все? Или как? Что ты советуешь?
Короткое имя не обязательно должно быть не осмысленным.
> В PEP8 есть некоторые устаревшие вещи, но не весь он сам.
PEP8 писан для узкого круга лиц, но им пользуются все кто попало, в этом смысле, да он актуален. Но это ещё не означает что его надо использовать.
Офлайн
Rodegastа ты в блокноте пишешь код? Любое адекватный редактор программного кода и IDE по нажатию на Tab делает заданный отступ. В каком таком случае ты вынужден будешь считать пробелы что бы это стало поводом переходить на табуляцию?
Да. Табуляцией намного удобнее делать отступы.
1) Проще набирать.
2) Не надо считать пробелы.
3) Отступы лучше визуализированны. По этому ошибиться в их количестве практически не возможно.
Офлайн
> Любое адекватный редактор программного кода и IDE по нажатию на Tab делает заданный отступ. В каком таком случае ты вынужден будешь считать пробелы что бы это стало поводом переходить на табуляцию?
1) Не любой. Вот я сейчас попробовал это проделать в Geany, по нажатию на Tab он как и положено ставит табуляцию в итоге пробелы и табуляция смешивается что не допустимо.
2) Я могу по ssh подключатся на удалённый сервер и что-то по мелочи править. Будет ли там установлен “адекватный редактор”?
3) На табуляцию я не переходил. Я ей постоянно пользовался.
Офлайн