mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	note that byte strings can be raw, too #9114
This commit is contained in:
		
							parent
							
								
									ac16bdec57
								
							
						
					
					
						commit
						162dd7484e
					
				
					 1 changed files with 9 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -407,7 +407,7 @@ String literals are described by the following lexical definitions:
 | 
			
		|||
 | 
			
		||||
.. productionlist::
 | 
			
		||||
   bytesliteral: `bytesprefix`(`shortbytes` | `longbytes`)
 | 
			
		||||
   bytesprefix: "b" | "B"
 | 
			
		||||
   bytesprefix: "b" | "B" | "br" | "Br" | "bR" | "BR"
 | 
			
		||||
   shortbytes: "'" `shortbytesitem`* "'" | '"' `shortbytesitem`* '"'
 | 
			
		||||
   longbytes: "'''" `longbytesitem`* "'''" | '"""' `longbytesitem`* '"""'
 | 
			
		||||
   shortbytesitem: `shortbyteschar` | `bytesescapeseq`
 | 
			
		||||
| 
						 | 
				
			
			@ -431,16 +431,16 @@ of three single or double quotes (these are generally referred to as
 | 
			
		|||
characters that otherwise have a special meaning, such as newline, backslash
 | 
			
		||||
itself, or the quote character.
 | 
			
		||||
 | 
			
		||||
String literals may optionally be prefixed with a letter ``'r'`` or ``'R'``;
 | 
			
		||||
such strings are called :dfn:`raw strings` and treat backslashes as literal
 | 
			
		||||
characters.  As a result, ``'\U'`` and ``'\u'`` escapes in raw strings are not
 | 
			
		||||
treated specially.
 | 
			
		||||
 | 
			
		||||
Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an
 | 
			
		||||
instance of the :class:`bytes` type instead of the :class:`str` type.  They
 | 
			
		||||
may only contain ASCII characters; bytes with a numeric value of 128 or greater
 | 
			
		||||
must be expressed with escapes.
 | 
			
		||||
 | 
			
		||||
Both string and bytes literals may optionally be prefixed with a letter ``'r'``
 | 
			
		||||
or ``'R'``; such strings are called :dfn:`raw strings` and treat backslashes as
 | 
			
		||||
literal characters.  As a result, in string literals, ``'\U'`` and ``'\u'``
 | 
			
		||||
escapes in raw strings are not treated specially.
 | 
			
		||||
 | 
			
		||||
In triple-quoted strings, unescaped newlines and quotes are allowed (and are
 | 
			
		||||
retained), except that three unescaped quotes in a row terminate the string.  (A
 | 
			
		||||
"quote" is the character used to open the string, i.e. either ``'`` or ``"``.)
 | 
			
		||||
| 
						 | 
				
			
			@ -545,9 +545,9 @@ characters as part of the string, *not* as a line continuation.
 | 
			
		|||
String literal concatenation
 | 
			
		||||
----------------------------
 | 
			
		||||
 | 
			
		||||
Multiple adjacent string literals (delimited by whitespace), possibly using
 | 
			
		||||
different quoting conventions, are allowed, and their meaning is the same as
 | 
			
		||||
their concatenation.  Thus, ``"hello" 'world'`` is equivalent to
 | 
			
		||||
Multiple adjacent string or bytes literals (delimited by whitespace), possibly
 | 
			
		||||
using different quoting conventions, are allowed, and their meaning is the same
 | 
			
		||||
as their concatenation.  Thus, ``"hello" 'world'`` is equivalent to
 | 
			
		||||
``"helloworld"``.  This feature can be used to reduce the number of backslashes
 | 
			
		||||
needed, to split long strings conveniently across long lines, or even to add
 | 
			
		||||
comments to parts of strings, for example::
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue