Есть ли способ разместить объявленную строку между символами Unicode без конкатенации? Например, я объявил строку a = "house"
. Есть ли в любом случае я могу объявить <\house/>
без , имеющей результат до "<\\" + a + "/>"
? Конкатенация может стать громоздкой, когда задействуются больше символов Unicode.Построение строки без конкатенации в Python 2.7
0
A
ответ
2
как насчет интерполяции строк?
"<\\%s/>" % a
или для нескольких элементов:
<"\\%s %s/>" % (a, b)
Также работает со словарями:
"<\\%(a)s/>" % {'a': a}
Python 3.x стиль интерполяции выполняется с помощью встроенного в str.format
метода:
"<\\{}/>".format(a)
"<\\{} {}/>".format(a, b)
"<\\{1} {0}/>".format(a, b) # => "<\\" + b + " " + a + "/>"
"<\\{a} {b}/>".format(a=a, b=b)
2
Вы можете использовать метод str.format
:
a = "Hello {name}, welcome to {place}."
a.format(name="Salem", place="Tokyo") # "Hello Salem, welcome to Tokyo."
docs.python.org - String format syntax
Если вам нужно что-то более мощное, вы можете использовать шаблон двигателя. Существует быстрый пример с Jinja2:
jinja_example.py
from jinja2 import Template template_file = Template(open("templatefile").read()) obj = [ {"name": "John", "surname": "Doe"}, {"name": "Foo", "surname": "Bar"} ] print template_file.render(data=obj)
TemplateFile
<html> <body> {% if data %} {% for user in data %} <h1>Hello {{ user.name }} {{ user.surname }}.</h1> {% endfor %} {% else %} <h1>Nothing found.</h1> {% endif %} </body> </html>
И выход (часть новой строки вынимается):
$ python jinja_example.py
<html>
<body>
<h1>Hello John Doe.</h1>
<h1>Hello Foo Bar.</h1>
</body>
</html>
Вы можете найти огромный список шаблонов в Python Wiki.
Смежные вопросы
- 1. Построение функции в Python 2.7
- 2. Построение графика on_click Выбор строки datatable в bokeh python 2.7
- 3. Скорость конкатенации строки Python
- 4. Перевести строки в python 2.7
- 5. Разбиение строки в Python 2.7
- 6. Сплит строки в Python 2.7
- 7. расщепление строки в Python (2.7)
- 8. Python конкатенации строки и переменная
- 9. питона 2.7 Python 3.2 строки ошибки
- 10. Печать строк файла без включения новой строки в Python 2.7
- 11. Печать без работы без скобок (Python 2.7)
- 12. Python 2.7: Не построение определенного диапазона дат в dataframe
- 13. Python 2.7 Строки Индекс ошибка
- 14. конкатенации строки на строку в Python
- 15. XOR на строки Unicode в Python 2.7
- 16. Python 2.7 Выход из текстовых файлов без последней пустой строки
- 17. Python 2.7 - запись строки в новой строке
- 18. Запятые и строки в Python 2.7 string.format()
- 19. Производительность получения длины строки в Python 2.7
- 20. Юникодские кириллические строки в Python 2.7
- 21. строки конкатенации
- 22. Построение многострочной строки из массива в python
- 23. Python Панда: конкатенации строки с уникальными значениями
- 24. Ошибка конкатенации Python
- 25. Построение данных GPS в Python
- 26. Построение лямбда-выражения с использованием конкатенации
- 27. Python 2.7: Доступ к значению из словаря с помощью строки
- 28. отступов в Python 2.7
- 29. Как повторять символы в Python без конкатенации строк?
- 30. Python байты конкатенации
«Python 3.x style» работает в версии 2.6+, поэтому на самом деле это не совсем 3.x стиль – Blender
@Blender: afaik эта функция была введена и добавлена в 2.x из 3.x. –