本篇文章為大家帶來了關於Python的相關知識,其中主要介紹了關於print()函數用法的相關知識,print() 函數用於列印輸出,是python中最常見的一個內建函數,下面一起來看一下,希望對大家有幫助。
【相關推薦:Python3影片教學 】
print() 函數用來列印輸出,是python中最常見的一個內建函數。
將"objects" 列印輸出至"file參數" 指定的文字流,以"sep 參數"分隔開並在末尾加上"end參數"。 "sep" 、 "end "、 "file" 和"flush" 必須以關鍵字參數的形式給予。 flush 關鍵字參數是在 phthon3.3 版後增加的。
所有非關鍵字參數都會被轉換為字串,就像是執行了str() 一樣,並會被寫入到流,以“sep參數“ 並且在末尾加上“end參數“ 。 “sep參數“ 和 “end參數“都必須為字串;它們也可以為 “None“,這意味著使用預設值。如果沒有給出 “objects參數“,則 print() 將只寫入 “end參數“。
"file 參數"必須是具有 write(string) 方法的物件;如果參數不存在或為 None,則會使用 sys.stdout。由於要列印的參數會轉換為文字字串,因此 print() 不能用於二進位模式的檔案物件。對於這些對象,應改用 file.write(...)。輸出是否快取通常取決於 file,但如果 flush 關鍵字參數為 True,輸出流會被強制刷新。
列印的文本內容不僅僅是指中文文本,還可以是英文文本或包含特殊符號的文本,列印文本時需要使用引號將文字內容引起來,引號可以是單引號(' '),雙引號(" "),三引號(""" """)
#使用方法 |
#程式碼 |
#執行結果 |
|
Single quotes | #一對單引號,單引號裡可以用雙引號,並且可以將單引號列印出來 | ||
print('有生命有希望') |
|||
|
###############print('"有生命有希望"')######### ####"有生命有希望"### | ||
Double quotes | 一對雙引號,雙引號裡可以用單引號,並且可以將單引號列印出來 | print("永不氣餒!") | |
##print("'永不氣餒! '") | '永不氣餒! ' |
Triple quoted |
#程式碼 |
運行結果 |
||
##1 | |||
#print("謀事在人 成事在天 有生命便有希望") |
謀事在人 成事在天 有生命便有希望 |
||
#2 |
|||
print("謀事在人","成事在天","有生命便有希望") |
謀事在人成事在天有生命有希望 |
||
3 | |||
#######################################################################################################################################。多行多行print ("謀事在人",)######print ("成事在天")############謀事在人成事在天 #######(2個字串之間有個空格)########################################### ##################4#############相鄰的兩個或多行列印時###沒有用###逗號間隔############print("謀事在人""成事在天")######print ("謀事在人")######print ("成事在天")############謀事在人成事在天######謀事在人成事在天### | |||
5 | 字串間不要空格 | #print ("謀事在人" "成事在天") 謀事在人成事在天 |
print()函數的“end”參數指定了print()函數在列印內容之後,用什麼符號來表示結尾,預設值是“\n” ,表示換行,即print()函數在列印完指定內容之後,就會自動換行。
我們可以透過「end」參數的定義,用其他符號來表示print()輸出列印完成。例如:print()函數的“end”參數指定為“|”,即print()函數每次輸出完成之後,都會輸出“|”。
強行換行 | |
#代碼 |
print("有生命\n便有希望") |
便有希望 | |
列印後不換行,用end參數來設定你想要的結束符號 | 代碼|
print("謀事在人", end =" ") | print("成事在天", end =" ")print("有生命有希望", end =" ") |
運行結果 |
|
|
|
#print("謀事在人" ,end ="|") | print("成事在天", end ="|")print("有生命有希望", end ="|") |
運行結果 |
|
print(x, end=' ') ###for x in range(0, 6):####### print(x , end=',')##################運行結果### |
0 1 2 3 4 5 0,1,2,3,4,5, |
程式碼 |
for x in range(1, 6): print( x, end=' ') print() for x in range(1, 6): print(x, end=',') print() |
#運行結果 |
1 2 3 4 5 1,2,3,4,5, |
#用sep參數約束print括號裡多項目內容之間的區隔符 | |
#print("謀事在人", "成事在天", "有生命有希望", sep ="&") |
|
#運行結果 |
謀事在人&成事在天&有生命便有希望 |
程式碼 |
print("www", "csdn", "net", sep=".") |
執行結果 |
www.csdn.net |
製表符\t控制水平間隔,作用如tab鍵,在列印輸出時控制間隔距離 \t表示空8個字符, 或使用格式化輸出,具體請看實例 | |
#程式碼 |
print("不能如願而行\t也須盡力而為") |
運行結果 |
不能如願而行 也須盡力而為 |
for i in range (1, 11): | print(i,' \t',i*2,'\t',i*3,'\t',i*4)|
運行結果 | 1 2 3 42 6 9 124 8 12 1 15 206 12 18 24 |
9 18 30 40################################################################################################################################################################################################ #######name = 'Adversity awake'######saying="Man proposes, god disposes 謀事在人,成事在天"######print(name.title() " once said" ": " '\n\t"' saying '"')##################運行結果### |
Adversity Awake once said: "Man proposes, god disposes 謀事在人,成事在天" |
|
|
|
|
|
|
|
|
#程式碼 ##錯誤print()效果距離: |
編外話:有時需要對齊輸出,也可以使用format()來實現:
程式碼 | # #products=[["iphone",6888],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699 ],["MacPro",45600],["coffee",432],["abc",244499],["Book",6230],["Nike",61299],["MacPro",14800], ["coffee",32],["abc",2499],["Book",60],["Nike",699]]print("-"*10 "商品清單" " -"*10)i=0 ##for product in products: print('{:<6}\t{:<10}\t {:<10}'.format(str(i), product[0], str(product[1]))) i = i 1 |
print後的括號中如果是數學表達式,則列印結果為表達式最終運算的結果
#Print 列印表達式的值 | |
#Print(1 2 3 4 5) | |
執行結果 | #15 |
##print(8/1) | |
#執行結果 | 8.0 |
| |
程式碼 | #print(2*4) |
#運行結果 | 8 |
#程式碼 | print(18-10) |
運行結果 | 8 |
程式碼 | print(2 6) |
執行結果 | 8 |
#列印反斜線,把2個反斜線放一起 | |
#程式碼 | Print("不能如願而行\\也須盡力而為") |
運行結果 | 不能如願而行\也須盡力而為 |
無論什麼類型的數據,包括但不限於:數值型,布林型,列表變量,字典變數…...都可以透過print()直接輸出。
print()變數的輸出 | |
##輸出數值型變數 num = 91682 #print(num) | |
執行結果 | 91682 |
#輸出字串變數 | name = '逆境清醒'print(name) |
##程式碼 | |
list = [1,2, 3,4,5,'a','b','c'] | print(list)##執行結果 |
tuple = (1,2,3,4,5,'a','b','c')print(tuple) | 運行結果 |
###############################程式碼############輸出字典變數## ####dict ={'a':1, 'b':2,'c':3}#######print(dict)############### ###運行結果### | {'a': 1, 'b': 2, 'c': 3} |
|
#在字串中插入 | 程式碼 | 運行結果 | |
#1 | 字串變數 | name = "逆境清醒" print("我的名字是%s " % name) | 我的名字是逆境清醒 |
2 | |||
print("我的年齡是%d"%(age) "歲了") | |||
i = 2670.5# print("數字是%f" %i) | 數字是2670.500000
| ||
%號點(.)前跟欄位寬度; | |||
#i = 2.67145573 | #print("8位元保留字段寬度�"%(i)) #########8位元保留欄位寬度2.671456######################## ##################i = 2.67145573######print("保留兩位小數輸出的是%.2f"%(i))#### ########保留兩位小數輸出的是2.67### | ||
#i= 2.6714563467 print( "a" ' .3f'%i) print("a" '%f'%i) | a 2.671 a2 .671456 | ||
4 | s='逆境清醒'x=len( s) | print('%s名字的長度是%d' %(s,x)) |
格式輸出 | |||
運行結果 | %s | 輸出一個字串,字符字串採用str()的顯示 | |
print('%s'%i) | #2.6714563467 | ||
%r | |||
print('%r '%repr(set([1,1,2,3]))) | '{1, 2, 3}' | ||
##.% c | |||
Z | |||
%e、%E | ##指數(基底寫e) | ||
print('%e'%k) | print('%E'%k)2.671456e 03 | #2.671456E 03||
###################### ###########%b############二進位整數############print(bin(50))##### #######0b110010### | |||
%hd、%d、%ld | 以十進位、有符號的形式輸出short、int、long 型態的整數 | print('%d'P) | |
##%hu、%u、%lu | #以十進位、無符號的形式輸出short、int、long 型的整數 | print('%u'P | |
50 | |||
#%ho、%o、%lo | 以八進位、不帶前綴、無符號的形式輸出short、int、long 類型的整數 | ||
62 | |||
%#ho、%#o、%#lo | #以八進位、有前綴、無符號的形式輸出short 、int、long 類型的整數 | ||
print('%#o'P)0o62 |
| ################################ ##########%hx、%x、%lx、######%hX、%X、%lX#############以十六進位、不帶前綴、無符號的形式輸出short、int、long 類型的整數。如果x 小寫,那麼輸出的十六進制數字也小寫;如果X 大寫,那麼輸出的十六進制數字也大寫。# ###########print('%x'P)#############32### | |
%#hx、%#x、%#lx、 | %#hX、%#X、%#lX | 以十六進位、帶有前綴、無符號的形式輸出short、int、long 型別的整數。如果 x 小寫,那麼輸出的十六進位數字和前綴都小寫;如果 X 大寫,那麼輸出的十六進位數字和前綴都大寫。 print('%#x'P) | print('%#X'P)0x32 |
#%f、%lf 、%F | |||
| i= 2.6714563467 | print('%f'%i)2.67146 | |
%g、%lg、 |
其他一些格式輸出方法 | |
##k= 2671.4563467284 #print('二進位形式''{0:b}'.format(int(k))) | |
#運行結果 | 二進位形式101001101111 |
程式碼 | k= 2671.4563467284 print('十進位形式''{:d}'. format(int(k))) |
執行結果 | #十進位形式2671 |
#k= 2671.4563467284 print('八進位形式''{:o}'.format(int(k))) | |
#運行結果 | 八進位形式5157 |
#程式碼 | |
運行結果 | #十六進位形式a6f|
執行結果 ###### ###數字形式2671.46######################################################################################################################################################################################################################### ###########k= 2671.4563467284###print('百分數形式''{:%}'.format(k)) | |
執行結果 | #百分數形式267145.634673% |
#代碼 | k= 2671.4563467284 | print('冪指數形式''{:e}'.format(k))
#運行結果 | |
程式碼 | #k= 2671.4563467284#print('十進位較短的形式輸出''{:g}'.format(k)) |
#運行結果 | 十進位與指數中較短的形式輸出2671.46 |
############################################代碼# ###########k= 2671.4563467284######print('十進位浮點數''{:f}'.format(k))############ #######運行結果############十進位浮點數2671.456347######################### #################程式碼############輸出二進位數######k= 2671.4563467284######print( bin(int(k)))##################運行結果############0b101001101111######### ##################################程式碼############輸出八進位數# #####k= 2671.4563467284######print(oct(int(k)))################################################################################################################# ######0o5157### | |
#輸出十六進位數k= 2671.4563467284 | |
執行結果 | |
#英文大小寫轉換(title()首字母大寫,upper()全大寫,lower()全小寫) | |
#程式碼 | name = 'Adversity awake' |
Adversity Awake | |
#name = 'Adversity awake' | print(name.upper())|
執行結果 | |
##ADVERSITY AWAKE | |
#列印字元 | |
#for u in range(1, 100): print('{:c}'.format(int( u)),end =" | ") | |
運行結果 | | | | | | | | | | |
##九九乘法表 | |
#程式碼 |
for i in range (1, 10): for j in range(1, i 1): print("{}*{}={}".format(j, i, i* j), end=" ") | print()
# 執行結果 |
1 *1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4 =4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8= 32 5*8=40 6*8=48 7*8=56 8*8=64 | 1*9=9 2*9=18 3*9=27 4*9=36 5*9 =45 6*9=54 7*9=63 8*9=72 9*9=81
列印實心菱形 | |
#n=5 for i in range(1,n 1): print(" "*(n-i) "*"*(2*i-1)) | for i in range(1,n):|
運行結果 | *
***** *** | *|
##11.4 列印空心菱形 |
|
#列印空心菱形 | |
print(" "*(n-1) "*") |
print(" "*(n-1-i) "*" " "*(2*i-1) "*")
| print(" "*i "*" " "*((n-1-i)*2-1) "*")
#列印中空三角形 | |
#程式碼 | |
n=5
| # for i in range(2, n):
print(" "*(n-i) "*" " "*(2*(i-1)-1) "*") |
* * * * * * | ##* * * * *|
11.6 | 列印實心三角形|
#列印側邊三角形1 | |
|
|
i = 5while 0 < i < ;= 5: j = 1 while j <= i: print("* ", end = '') ## = 1 print(" ") i -= 1 | |
列印側邊三角形2 | |
#方法一: i = 1 while i <= 5: j = 1 while j <= i: print("* ", end = '') j = 1 # print(" ")
| |
##方法二: n = 5 print('\n'.join('◆' * i for i in range(1, n 1))) | |
執行結果 | ◆ #◆◆ ##◆◆◆ |
◆◆◆◆ | ◆◆◆◆◆ |
列印三角形4 | |
##for i in range(0,5): tx='◆' # tx1=' ' print() # for j in range( 0,5): print(tx if i<=j else tx1,end="") | |
◆◆ ## ◆ | |
##l= 5 for i in range(l): for j in range(i): | print(end=' ')|
print(end='◆')
|
|
列印三角形6 | |
#i = 1 while i <= 9: if i <= 5: print('◆ '*i)## P print('◆ '*(10 - i)) i = 1 | |
##◆ | ◆ ◆|
|
研究 | |
#11.8 列印平行四邊形 列印平行四邊形 | |
for i in range(l):
| print(end=' ')
#用字母單字印出心形 | |
##程式碼 | |
運行結果 |
# 用字元輸出 I ❤ U(2款效果) |
##導入時間 y = 2.5 while y>=-1.6: x = -3.0 while x<=4.0: if (x*x y*y-1)**3<= 3.6*x*x*y*y*y 或(x>-2.4且x<-2.1且y<1.5且y>-1)或(((x<2.5且x>2.2)或(x>3.4且x<3.7)) 且y>-1 且y<1.5) 或(y>-1 且y<-0.6 且x<3.7 且x>2.2): # ") else: # print('*',end="") # # time.sleep(0.25) y -= 0.2 |
##導入時間 y = 2.5 當 y>=-1.6 : x = -3.0 while x<=4.0: if (x*x y*y-1)**3<=3.6*x*x* y*y*y或(x>-2.4且x<-2.1且y<1.5且y>-1)或(((x<2.5且x>2.2)或(x>3.4且x<3.7))且y>-1 且y<1.5) 或(y>-1 且y<-0.6 且x<3.7 且x>2.2): print('*',end="") | 合適合適]
print(' ',end="") |
#輸出五個愛心,分別由Dear I love you forever!五個單字填充而成。 | |
import timesentence = "Dear, I love you forever!"for char in sentence.split( ): allChar = [] for y in range(12, -12, -1): lst = []# '' for x in range(-30, 30): formula = ((x*0.05)**2 (y*0.1)**2-1)**33 -(x*0.05)**2*(y*0.1)**3 if formula <= 0: else: c Char = lst print('\n '.join(allChar))
| |
如果代碼中有漢字中文,運行的時候python報錯,出現python中無法正常輸入中文,亂碼等情況:
編譯提示:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x*** in position 0: ...
主要是由於編碼的問題引起的。
受開發系統和環境不同影響,解決辦法會有所不同,但一般按以下辦法處理就能解決,有需要者請自行嘗試適合自己系統的解決辦法:(記住,下面的方法不需要全部加入到python檔案中,選擇其中一項或兩項嘗試,能解決問題即可)
在你的python檔案(.py)檔案第一行
# 1、一開始加入
eb302c6dff334665dd9d0b70274b8503平時開發python時注意:
1、如果你用pycharm編譯書寫python程式碼,pycharm預設是會自動儲存為UTF-8格式的,如果你無意中修改過,請在pycharm工作介面右鍵—File-Encoding–選擇UTF-8編碼----reload- ----reload anyway。如果還是不行,試試看路徑改為全英文。
2、如果你用其他編譯書寫程式碼工具,請點選
文件>>設定檔編碼>>Unicode>>Unicode(UTF -8)
3、如果你用visual studio 編譯書寫python代碼,
visual studio 2022下python編程,報錯:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
解決方法:
把編碼改為UTF-8:
#---->Unicode(UTF-8帶簽章)-代碼頁65001
visual studio其他版本在檔案選單選項裡選取「進階儲存選項」
#---->Unicode(UTF-8帶簽章)-代碼頁65001
設定工程字元集為utf-8,選擇工程----右鍵----屬性----加上字元集編碼
Visual Studio Community 2022 - UTF-8 編解碼器問題#6784,可參考閱讀:
https://github.com/microsoft /PTVS/issues/6784
題外話:
在用matplotlib(pyplot)圖表製作時,標題和座標軸中文顯示會出現異常,出現小方框,無法正常顯示,這時,只需在檔案頭加入以下程式碼即可:
#-*- coding: UTF-8 -*- import matplotlib.pyplot as plt #import matplotlib as mpl mpl.rcParams["font.sans-serif"]=["SimHei"] mpl.rcParams["axes.unicode_minus"]=False |
##寫入檔案 | |
程式碼 |
## coding=utf-8 print("Hello, World!", file=open('file.txt', 'w')) |
執行結果 |
運行後,在test.py檔案所在的目錄中,出現了一個file.txt文件,開啟file.txt文件,會發現裡面的內容是: # Hello, World! 說明我們的print()寫入檔案成功。 |
寫入檔案 | |
#for i in range (1, 11): print(i,'\t',i*2,'\t',i*3,'\t',i*4,end='\ n',file=open('file.txt',mode ='a',encoding='utf-8'), flush=False) |
|
執行結果 |
運行後,開啟file.txt文件,會發現裡面的內容是: #說明我們的print()寫入檔案成功。 |
以上是Python中Print()函數用法的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!