Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does \v differ from \x0b or \x0c?

Typing string.whitespace gives you a string containing all whitespace characters defined by Python's string module:

'\t\n\x0b\x0c\r '

Both \x0b and \x0c seem to give a vertical tab.

>>> print 'first\x0bsecond'
first
     second

\v gives the same effect. How are these three different? Why does the string module use \x0b or \x0c over the simpler \v?

like image 846
LLaP Avatar asked Oct 03 '14 17:10

LLaP


1 Answers

\v is \x0b:

>>> '\v'
'\x0b'

but the string literal representation in Python is using the \x0b notation instead.

The Python string literal representation only ever uses \n, \r and \t, everything else that is not a printable ASCII character is represented using the \xhh notation instead.

\x0c is a form feed; it forces a printer to move to the next sheet of paper. You can also express it as \f in Python:

>>> '\f'
'\x0c'

In terminals the effects of \v and \f are often the same.

like image 56
Martijn Pieters Avatar answered Nov 04 '22 11:11

Martijn Pieters