python123子字符串输出_【无为则无心Python基础】— 13.字符串的格式化输出(一)...
五、Python字符串的格式化輸出
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
總結
以上是生活随笔為你收集整理的python123子字符串输出_【无为则无心Python基础】— 13.字符串的格式化输出(一)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle Livelabs实验: S
- 下一篇: Python养发之路 - 安装篇