日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【无为则无心Python基础】— 18、Python字符串的格式化输出

發布時間:2023/12/8 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【无为则无心Python基础】— 18、Python字符串的格式化输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1、什么是格式化輸出
      • 2、Python格式化輸出的五種方式
        • 方式1:字符串之間用+號拼接
        • 方式2:`print()`函數可同時輸出多個字符串
        • 方式3:占位符方式
          • 常用格式化符號
          • 示例:
          • 拓展示例
        • 方式4:f格式化方式(推薦)
        • 方式5:`format()`函數方式
          • `format()`函數對齊方式說明
          • 示例:
      • 3、`print( )`函數結束符
        • `sep`參數
        • `end`參數:結束符

1、什么是格式化輸出

數據按照某種特殊的要求輸出,假如字符串中有各種格式的數據,要拼接輸出:

  • 如果輸入一個整數,希望整數按照十六進制,八進制輸出。
  • 如果輸入一個小數,希望小數保留后面2位數然后輸出。
  • 以科學計數法的方式來輸出小數。
  • 字符串的輸出希望在十個格子內輸出,或者左對齊,居中等等

即所謂的格式化輸出就是需要按照一定的格式輸出內容。

2、Python格式化輸出的五種方式

Python的字符串變量有五種輸出方式,下面我們分類來介紹一下。

方式1:字符串之間用+號拼接

# 字符串之間也可以進行加法運算 # 如果將兩個字符串進行相加, # 則會自動將兩個字符串拼接為一個字符串 a = 'abc' + 'haha' + '哈哈' print("a = "+ a) # a = abchaha哈哈# 字符串只能和字符串之間用+號進行拼接, # 不能和其他的類型進行加法運算,如數值型變量。 # 如果做了會出現異常 TypeError: must be str, not int a = 123 print("a = "+a) # 報錯 # 這種寫法在Python中不常見

方式2:print()函數可同時輸出多個字符串

# print()函數可同時輸出多個字符串 print("hello","ptyhon") # hello ptyhon# 這種寫法無論a是什么類型變量, # 都能進行拼接字符串輸出了。 a = 123 print('a =',a) # a = 123 b = 18 print("我今年",b,"歲") # 我今年 18 歲 # 注意:這種輸出方式拼接的字符串,拼接的位置會有空格。 # 這種方式在實際開發中也不常用。

方式3:占位符方式

表示在創建字符串時,可以在字符串中指定占位符。

常用格式化符號
格式符號轉換
%s(常用)字符串
%d(常用)有符號的十進制整數
%f(常用)浮點數
%c字符
%u無符號十進制整數
%o八進制整數
%x十六進制整數(小寫ox)
%X十六進制整數(大寫OX)
%e科學計數法(小寫’e’)
%E科學計數法(大寫’E’)
%g%f和%e的簡寫
%G%f和%E的簡寫

我們常用的格式化符號是前三個,剩下的不用去死記硬背,以后用到的時候可以來筆記中查詢即可。

示例:
""" 占位符格式化輸出分為兩個步驟 1. 準備數據(定義輸出變量) 2. 格式化符號輸出數據(執行輸出) """# 1. 今年我的年齡是x歲 -- 整數 %d # 結果:今年我的年齡是18歲 age = 18 print('今年我的年齡是%d歲' % age)#如果占位符沒有添加內容,則原樣輸出占位符。 #結果:今年我的年齡是%d歲 print('今年我的年齡是%d歲')# 2. 我的名字是x -- 字符串 %s # 結果:我的名字是TOM name = 'TOM' print('我的名字是%s' % name)# 3. 我的體重是x公斤 -- 浮點數 %f # 結果:我的體重是75.500000公斤 weight = 75.5 print('我的體重是%f公斤' % weight) # 說明%f默認顯示小數點后6位# %.xf,表示小數點后顯示的小數位數。 # 結果:我的體重是75.50公斤 print('我的體重是%.2f公斤' % weight)# 4. 我的學號是x -- %d # 結果:我的學號是1 stu_id = 1 print('我的學號是%d' % stu_id)# %03d,表示輸出的整數顯示位數,不足以0補全,超出當前位數則原樣輸出 stu_id2 = 1000 print('我的學號是%03d' % stu_id) # 001 print('我的學號是%03d' % stu_id2) # 1000# 5. 我的名字是x,今年x歲了 # 把前邊的占位符,按順序在()小括號內進行賦值,用逗號分隔。 # 結果:我的名字是TOM,今年18歲了 print('我的名字是%s,今年%d歲了' % (name, age))# 我的名字是x,明年x歲了 # 結果:我的名字是TOM,今年19歲了 print('我的名字是%s,明年%d歲了' % (name, age + 1)) # 說明在給占位符賦值的時候是可以進行運算的。
拓展示例
# 6. 我的名字是x,今年x歲了,體重x公斤 # 結果:我的名字是TOM,今年18歲了,體重75.50公斤 name = 'TOM' age = 18 weight = 75.5 print('我的名字是%s,今年%d歲了,體重%.2f公斤,學號是%06d' % (name, age, weight))# 拓展 # 因為最終結果是以字符串輸出完整句子 # 那字符串中所有的數據都可以用字符串進行占位輸出 # 我的名字是x,今年x歲了,體重x公斤 # 結果:我的名字是TOM,今年18歲了,體重75.5公斤 print('我的名字是%s,今年%s歲了,體重%s公斤' % (name, age, weight)) # 總結:如果你不太確定應該用什么,%s永遠起作用,它會把任何數據類型轉換為字符串。# 7、%d占位符,如果傳入的是小數,只保留整數部分 print('hello %d' % 123.95) # hello 123# 8、%3.5s字符串的長度限制在3-5之間,多了截取,少了補空格 print('hello %3.5s' % 'abcdefg') # hello abcde print('hello%3.5s' % 'abc') # helloabc print('hello%3.5s' % 'ab') # hello ab# 9、左對齊、右對齊 # 右對齊,取20位,不夠則空格補位 print('%20s' % 'hello python')# 左對齊,取20位,不夠則空格補位 print('%-20s' % 'hello python') # 上面兩句代碼執行結果如下hello python hello python

方式4:f格式化方式(推薦)

格式化字符串除了%s,還可以寫為f'{表達式}'。

f-格式化字符串是Python3.6中新增的格式化方法,該方法更簡單易讀,性能更高效。

# 在f格式化字符串中可以直接嵌入變量,{ }內就是變量的名稱,也可以進行運算賦值。 age = 18 name = 'TOM'# 我的名字是TOM,明年19歲了 # 結果:我的名字是TOM,明年19歲了 print('我的名字是%s,明年%d歲了' % (name, age + 1))# 我的名字是TOM,明年19歲了 # 結果:我的名字是TOM,明年19歲了 print(f'我的名字是{name},明年{age + 1}歲了')# 注意: # 在格式化字符串中,所引用的變量一定是被定義過的。 # 如果引用的變量沒有被定義,就會報錯NameError: name 'xx' is not defined print(f'我的名字是{name},明年{age + 1}歲了,體重{weight}公斤') # NameError: name 'weight' is not defined

方式5:format()函數方式

通過字符串的format( )方法進行格式化輸出。

# 1、順序填坑:{} 占位符 # 輸出結果:姓名是Tom,年齡是20 print('姓名是{},年齡是{}'.format('Tom',20))# 2、下標填坑(自定義順序匹配): # format方法里參數的腳標從0開始。 # 輸出結果:姓名是:Tom,年齡是:20 print('姓名是:{1},年齡是:{0}'.format(20,'Tom'))# 3、變量填坑(鍵值匹配): # 占位符中的變量名和參數中定義的變量名一一對應。 # 輸出結果:姓名是:Tom,年齡是:20 print('姓名是:{name},年齡是:{age}'.format(name='Tom',age=20))
format()函數對齊方式說明
數字格式輸出描述
5{:0>2}05數字補零 (靠右填充左邊, 寬度為2)
5{:x<4}5xxx補x (靠左,填充右邊, 寬度為4)
10{:x^4}x10x補x (居中填充, 寬度為4)
13{:10}13右對齊 ( 寬度為10),默認對齊方式
13{:<10}13左對齊 (寬度為10)
13{:^10}13中間對齊 (寬度為10)

說明:

  • 對齊方式直白語法(1):(2)補全的內容(符號)(3)補全方向 (4)字符串總寬度
  • (1)冒號:固定寫法
  • (2)補全的內容(符號):自己定義,就是長度不夠的時候,可以補0或者*等。
  • (3)補全方向:<填充右邊,>填充左邊,也就是口向哪邊,就向哪個方向填充,^表示居中。
  • (3)字符串總寬度:就是占位符變量的字符長度,字符長度不夠總寬度,按方向補全(2)定義的符號。
  • 冒號前可定義上邊所說的下標{1:x<4},也可以是變量名{name:x^4}.
示例:
# 輸出結果 # 姓名是:Tom******** # 年齡是:*********20 print('姓名是:{0:*<11}\n年齡是:{1:*>11}'.format('Tom',20))# 輸出結果 # 姓名是:****Tom**** # 年齡是:****20***** print('姓名是:{0:*^11}\n年齡是:{1:*^11}'.format('Tom',20))

3、print( )函數結束符

如果設置了print( )函數的結束符號,我們可以控制格式化輸出數據的各種展示方式。

print( )是Python的一個內置函數,它有哪些具體的參數呢?

簡單說明:

  • print( )函數的作用:打印相應的內容。
  • print( )函數的返回值為None。(None的內容可以看之前的總結)
  • file參數:原始的sys.stdout指向控制臺。(其他的看表中描述,更多的自己去擴展。)
  • flush參數:flush值為True或者False,默認為Flase。表示是否立刻將輸出語句輸入到參數file指向的對象中(默認是sys.stdout)。

sep參數

sep參數用來間隔多個對象,默認值是一個空格。

# 使用print()函數,同時輸出多個參數,多個參數之間是默認用空格分隔的。 # 輸出結果: # hello python print("hello","python")# 輸出結果: # hello***python # www.baidu.com print("hello","python",sep="***") print("www","baidu","com",sep=".")

end參數:結束符

想一想,為什么兩個print()函數之間會換行輸出?

在Python中print( )函數, 默認自帶end="\n"這個換行結束符,所以導致每兩個print()函數之間直接會換行展示,用戶可以按需求更改結束符。

總結:end =什么就會在輸出的末尾添加什么,默認值是換行符\n,我們可以換成其他字符串。

# print()函數默認結束符end="\n" # 輸出結果: # hello # python print("hello",end="\n") print("python",end="\n")# end參數可以換任何符號,如制表符或者自定義符號 # 輸出結果: # hello python*** print("hello",end="\t") print("python",end="***")

參考:https://blog.csdn.net/luomanluoland/article/details/80630006

總結

以上是生活随笔為你收集整理的【无为则无心Python基础】— 18、Python字符串的格式化输出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。