Проблема со списком строк в Python

Вы, вероятно, записали некоторый код Java, который реализует Вашу бизнес-логику, и затем Вы генерировали конечную точку веб-сервисов для него.

важная вещь сделать состоит в том, чтобы независимо протестировать Вашу бизнес-логику. Так как это - чистый код Java, можно сделать это с регулярными тестами JUnit.

Теперь, так как часть веб-сервисов является просто конечной точкой, что Вы хотите удостовериться, то, что сгенерированная инфраструктура (тупики, и т.д.) находятся в синхронизации с Вашим кодом Java. можно сделать это путем записи тестов JUnit, которые вызывают сгенерированные клиенты Java веб-сервиса. Это сообщит при изменении подписей Java, не обновляя материал веб-сервисов.

, Если Ваша инфраструктура веб-сервисов автоматически сгенерирована Вашей системой сборки в каждой сборке, то не может быть необходимо протестировать конечные точки (принимающий это все правильно сгенерировано). Зависит на Вашем уровне паранойи.

5
задан kurczak 9 September 2009 в 20:25
поделиться

5 ответов

Как говорили другие, это сделано намеренно.

Почему так? В основном по историческим причинам: C тоже делает это.

В некоторых случаях это удобно, потому что он уменьшает синтаксический шум и избегает добавления нежелательных пробелов (встроенные SQL-запросы, сложные регулярные выражения и т. Д.).

Что вы можете с этим сделать? Немного, но если это действительно часто случается с вами, попробуйте один из следующих приемов.

  • выделите свой список запятой в начале строки. Это странно, но если вы это сделаете, пропущенные запятые станут очевидными.
  • назначьте строки переменным и используйте список переменных всякий раз, когда можете (и часто это хорошая идея по другим причинам, например, чтобы избежать дублирования строк).
  • разделите ваши список: для списка слов вы можете поместить весь список в одну строку и разделить его, как показано ниже. Для более чем пяти элементов он также короче.

    ' abcd e'.split ('').

2
ответ дан 18 December 2019 в 06:23
поделиться

Поскольку два расположенных рядом строковых литерала, разделенных пробелом, объединяются. Поскольку строки находятся в списке, они расположены «бок о бок».

См .: http://docs.python.org/reference/lexical_analysis.html#string-literal-concatenation

3
ответ дан 18 December 2019 в 06:23
поделиться

Это задумано. Это позволяет, например, записывать длинные строковые литералы в несколько строк без использования +.

6
ответ дан 18 December 2019 в 06:23
поделиться

Потому что часто люди хотят сделать что-то вроде этого:

line = ("Here's a very long line, with no line breaks,"
        " which should be displayed to the user (perhaps"
        " as an error message or question box).")

Это проще написать без необходимости вручную связывать строки. C, C ++ и (я считаю) Java и C # также имеют такое поведение.

2
ответ дан 18 December 2019 в 06:23
поделиться

Называется «Неявная конкатенация строк», и PEP, предлагавший его удаление, был отклонен: http://www.python.org/dev/peps/pep-3126/

12
ответ дан 18 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: