擅长:python、mysql、java
<p>在字符串文本(<a href="https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals" rel="nofollow noreferrer">reference page for python 3</a>)中,转义字符,<em>即</em>那些以反斜杠“<code>\</code>”开头的字符被替换,并根据一些规则进行解释。通过在字符串文本前面加上字母“<code>r</code>”或“<code>R</code>”,可以强制python将“\”(反斜杠)解释为单个字符。你知道吗</p>
<p>因此“<code>\n</code>”实际上是源代码中的两个字符,但它被python解释为ASCII字符“换行符”</p>
<h2>关于用户输入的说明</h2>
<p>用<strong>Python2的<code>input()</code></strong>传递的字符串与字符串文本(您在代码中定义的字符串,只需将它们写在引号之间)的处理方式相同。在这两种情况下,“<code>\n</code>”被解释为单行换行符。你知道吗</p>
<p>另一方面,<strong>Python3的<code>input()</code>和Python2的<code>raw_input()</code></strong>读取原始字符串,<em>即</em>“<code>\n</code>”被解释为两个字符。你知道吗</p>
<p>所以如果在你的例子中(我假设Python3),你使用</p>
<pre><code>myString = input()
</code></pre>
<p>并将“<code>This is a string\nThis is a string</code>”作为输入,则for循环将分别迭代“<code>\</code>”和“<code>n</code>”。你知道吗</p>