[英]Where do this new line come from?
閱讀“艱難學習Python”,我正在練習練習10
tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split\non a line."
backslash_cat = "I'm \\ a \\ cat."
fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""
print tabby_cat
print persian_cat
print backslash_cat
print fat_cat
這會產生以下輸出:
I'm tabbed in.
I'm split
on a line.
I'm \ a \ cat.
I'll do a list:
* Cat food
* Fishies
* Catnip
* Grass
我的問題是: 為什么在第三個和第四個打印的字符串之間有一個新的行? 我該如何刪除它?
fat_cat = """ <-- here?
I'll do a list:
那是,
fat_cat = """I'll do a list:
...
刪除它。
因為print
總是放一個換行符(默認情況下),所以你在第3和第4行之間有另一個新行的原因是它包含一個明確的\\n
print fat_cat,
以上內容抑制了最終輸出的隱式換行符。
您還可以轉義多行字符串中的新行。
比較這些
fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass"""
print '=====',fat_cat
fat_cat = """\
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass"""
print '=====',fat_cat
\\
逃脫了第一個換行符。
你也可以這樣做:
txt='''\
1\
2\
3\
4\
'''
print txt
這將打印1234
因為字符串txt
中的所有\\n
都已使用\\
轉義。
最后,如果它們包含除空白之外的其他內容,您可能會對如何打印行感興趣。 這是一個演示:
txt='''
1
\t
2
\n\n\n\n\n\n
3
4
'''
print '\n'.join(line for line in txt.splitlines() if line.strip())
哪個印刷品:
1
2
3
4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.