ContentControl внутри TabItem не изменяет размер

То, что вы видите, представляет собой представление из my_string, созданное его методом __repr__() . Если вы его распечатаете, вы увидите, что на самом деле у вас есть одна обратная косая черта, как вы и предполагали:

>>> print(my_string)
why\does\it\happen?

В приведенной ниже строке есть три символа , а не четыре :

>>> 'a\\b'
'a\\b'
>>> len('a\\b')
3

Вы можете получить стандартное представление строки (или любого другого объекта) с помощью встроенной функции repr() :

>>> print(repr(my_string))
'why\\does\\it\\happen?'

Python представляет обратную косую черту в качестве \\, потому что обратная косая черта является escape-символом - например, \n представляет новую строку, а \t представляет вкладку.

Иногда это может вам помочь в проблему:

>>> print("this\text\is\not\what\it\seems")
this    ext\is
ot\what\it\seems

Из-за этого должен быть способ сказать Python, что вы действительно хотите, чтобы два символа \n, а не новая строка, и вы делаете что, преодолевая обратную косую черту, с другой:

>>> print("this\\text\is\what\you\\need")
this\text\is\what\you\need

Когда Python возвращает представление строки, он играет безопасно, избегая всех обратных косых черт (даже если они иначе не были бы частью побега последовательность), и это то, что вы видите. Однако сама строка содержит только одну обратную косую черту.

Более подробную информацию о строковых литералах Python можно найти по адресу: литералы String и Bytes в документации Python.

0
задан E-Nuff 25 February 2015 в 13:11
поделиться