python中print()函數的用法和end=""不換行詳解(03)


    print('hello world!')
    print('hello', 'world!')  # 逗號自動添加默認的分隔符:空格
    print('hello' + 'world!')  # 加號表示字符拼接
    print('hello', 'world', sep='***')  # 單詞間用***分隔
    print('#' * 50)  # *號表示重復50遍
    print('how are you?', end='') # 默認print會打印回車,end=''表示不要回車

需求:打印五個字符,在一行上

代碼:

# -*- coding: cp936 -*-
i = 0
while i< 5 :
    i += 1
    print(i,end = '')

# 等=號 前后一定要加空格,一定要用Python3

結果: 1 2 3 4 5那么問題來了,為什么加一個end="" 就不換行了,就打印在一行上了呢?首先,我們要聊一聊print()這個內置函數了,它有哪些具體的參數呢?請看列表:

在這里插入圖片描述

通過函數參數我們可以看到。print()函數里面是默認換行的,具體換行參數是end="\n"。so,如果我們把參數end="\n"換成end=’'相當於去掉了換行符\n ,你可以試想一下,現在輸入的不是程序,而是你自己的打字,12345是不回車的。但是如果你輸入的是1\n ,就換行了。補充個知識點,在windows系統中,\n表示換行,n是new line 的縮寫,\r表示回到行首,表示回車。具體的歷史典故呢橋哥也是在不斷的摸索當中,但是我找到了一個來源,同志們可以參考一下。\r是回車符,\n是換行符
計算機還沒有出現之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鍾可以打10個字符。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒里面,又有新的字符傳過來,那么這個字符將丟失。
於是,研制人員想了個辦法解決這個問題,就是在每行后面加兩個表示結束的字符。一個叫做“回車”,告訴打字機把打印頭定位在左邊界;另一個叫做“換行”,告訴打字機把紙向下移一行。
這就是“換行”和“回車”的來歷,從它們的英語名字上也可以看出一二。

  1. 后來,計算機發明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學家認為在每行結尾加兩個字符太浪費了,加一個就可以。於是,就出現了分歧。Unix
    系統里,每行結尾只有“<換行>”,即“\n”;Windows系統里面,每行結尾是“<回車><換行>”。

案例:

for i in range(10):
    print(i)

0

1
2
3
4
5
6
7
8
9

如果不想換行用 print(xxx,end=’’)

案例:

for i in range(10):
    print(i,end = '')

0123456789

如果想在最后一個輸出值后面給定指定方式輸出,可以 end='xxx’方式

案例:

# -*- coding: cp936 -*-
for i in range(10):
    print(i,end = '\t') # 不換行,制表符

0       1       2       3       4       5       6       7       8       9

# -*- coding: cp936 -*-
for i in range(10):
    print(i,end = '-') #不換行,結尾后追加—

0-1-2-3-4-5-6-7-8-9-


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM