欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)格式化輸出的實例詳解

 更新時間:2022年08月22日 08:18:31   作者:編程愛好者-阿新  
這篇文章主要為大家介紹了Python語法中實現(xiàn)格式化輸出的方法,本文通過幾個實例為大家進(jìn)行了詳細(xì)的講解,感興趣的小伙伴可以了解一下

一、format格式輸出字符串

使用 % 操作符對各種類型的數(shù)據(jù)進(jìn)行格式化輸出,這是早期 Python提供的方法。

字符串類型(str)提供了 format() 方法對字符串進(jìn)行格式化。format() 方法的語法格式如下:

str.format(args)

在該方法中,str 用于指定字符串的顯示樣式;args 用于指定要進(jìn)行格式轉(zhuǎn)換的項,如果有多項,之間有逗號進(jìn)行分割。

在創(chuàng)建顯示樣式模板時,需要使用{}和:來指定占位符,其完整的語法格式如下:

{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }

格式中用 [] 括起來的參數(shù)都是可選參數(shù),即可以使用,也可以不使用。各個參數(shù)的含義如下:

  • index:指定:后邊設(shè)置的格式要作用到args中第幾個參數(shù)值,參數(shù)的索引值從 0 開始。如果省略此選項,則會根據(jù) args中參數(shù)的先后順序自動分配。
  • fill:指定空白處填充的字符。注意,當(dāng)填充字符為逗號(,),且作用于整數(shù)或浮點數(shù)時,該整數(shù)(或浮點數(shù))會以逗號分隔的形式輸出,如1000000會輸出為1,000,000。
  • align:指定數(shù)據(jù)的對齊方式,具體的對齊方式如表1所示。

表 1 align參數(shù)及含義

字符含義
<數(shù)據(jù)左對齊
>數(shù)據(jù)右對齊
=數(shù)據(jù)右對齊,同時將符號放置在填充內(nèi)容的最左側(cè),該選項只對數(shù)字類型有效
^數(shù)據(jù)居中,此選項需和 width 參數(shù)一起使用

表 2 sign參數(shù)以含義

字符含義
+正數(shù)前加正號,負(fù)數(shù)前加負(fù)號
-正數(shù)前不加正號,負(fù)數(shù)前加負(fù)號
空格正數(shù)前加空格,負(fù)數(shù)前加負(fù)號
#對于二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù),使用此參數(shù),各進(jìn)制數(shù)前會分別顯示 0b、0o、0x前綴;反之則不顯示前綴

表 3 type占位符類型及含義

字符含義
s對字符串類型格式化
d十進(jìn)制整數(shù)
c將十進(jìn)制整數(shù)自動轉(zhuǎn)換成對應(yīng)的 Unicode 字符
e 或者 E轉(zhuǎn)換成科學(xué)計數(shù)法后,再格式化輸出
g 或 G自動在 e 和 f(或 E 和 F)中切換
b將十進(jìn)制數(shù)自動轉(zhuǎn)換成二進(jìn)制表示,再格式化輸出
o將十進(jìn)制數(shù)自動轉(zhuǎn)換成八進(jìn)制表示,再格式化輸出
x 或者 X將十進(jìn)制數(shù)自動轉(zhuǎn)換成十六進(jìn)制表示,再格式化輸出
f 或者 F轉(zhuǎn)換為浮點數(shù)(默認(rèn)小數(shù)點后保留 6 位),再格式化輸出
%顯示百分比(默認(rèn)顯示小數(shù)點后 6 位)

二、format格式輸出字符串實例

實例1、網(wǎng)站名稱

def func1():
    str = "網(wǎng)站名稱:{:>20s}\t網(wǎng)址:{:s}"
    print(str.format("Python中文網(wǎng)", "http://www.python-china.com/"))


if __name__ == '__main__':
    func1()

輸出結(jié)果為:

網(wǎng)站名稱:           Python中文網(wǎng)    網(wǎng)址:http://www.python-china.com/

實例2、數(shù)值格式化為不同的形式

在實際開發(fā)中,數(shù)值類型有多種顯示需求,比如貨幣形式、百分比形式等,使用 format() 方法可以將數(shù)值格式化為不同的形式。

def func2():
    # 以貨幣形式顯示
    print("貨幣形式:{:,d}".format(1000000))
    # 科學(xué)計數(shù)法表示
    print("科學(xué)計數(shù)法:{:E}".format(1200.12))
    # 以十六進(jìn)制表示
    print("100的十六進(jìn)制:{:#x}".format(100))
    # 輸出百分比形式
    print("0.01的百分比表示:{:.0%}".format(0.01))

if __name__ == '__main__':
    # func1()
    func2()

輸出結(jié)果為:

貨幣形式:1,000,000
科學(xué)計數(shù)法:1.200120E+03
100的十六進(jìn)制:0x64
0.01的百分比表示:1%

實例3、{}中不設(shè)參數(shù)

def func3():
    print("{} {}".format("hello", "world"))  # 不設(shè)置指定位置,按默認(rèn)順序

    print("{0} {1}".format("hello", "world"))  # 設(shè)置指定位置

    print("{1} {0} {1}".format("hello", "world"))  # 設(shè)置指定位置

if __name__ == '__main__':
    # func1()
    # func2()
    func3()

輸出結(jié)果為:

hello world
hello world
world hello world

實例4、 {}中設(shè)參數(shù)

def func4():
    # 通過變量設(shè)置參數(shù)
    print("My name is {name},and I am {age} years old!".format(name="zhangsan", age="25"))

    # 通過字典設(shè)置參數(shù),需要解包
    info = {"name": "zhangsan", "age": "25"}
    print("My name is {name},and I am {age} years old!".format(**info))

    # 通過列表索引設(shè)置參數(shù)
    msg = ["zhangsan", "25"]
    print("My name is {0[0]},and I am {0[1]} years old!".format(msg))


if __name__ == '__main__':
    # func1()
    # func2()
    # func3()
    func4()

輸出結(jié)果為:

My name is zhangsan,and I am 25 years old!
My name is zhangsan,and I am 25 years old!
My name is zhangsan,and I am 25 years old!

實例5、str.format() 格式化數(shù)字

def func5():
    print("{:.2f}".format(3.1415926))  # 保留小數(shù)點后兩位

    print("{:+.2f}".format(3.1415926))  # 帶符號保留小數(shù)點后兩位

    print("{:+.2f}".format(-1))  # 帶符號保留小數(shù)點后兩位

    print("{:.0f}".format(2.71828))  # 不帶小數(shù)

    print("{:0>2d}".format(5))  # 數(shù)字補(bǔ)零 (填充左邊, 寬度為2)

    print("{:x<4d}".format(5))  # 數(shù)字補(bǔ)x (填充右邊, 寬度為4)

    print("{:x<4d}".format(10))  # 數(shù)字補(bǔ)x (填充右邊, 寬度為4)

    print("{:,}".format(1000000))  # 以逗號分隔的數(shù)字格式

    print("{:.2%}".format(0.25))  # 百分比格式

    print("{:.2e}".format(1000000000))  # 指數(shù)記法

    print("|{:>10d}|".format(13))  # 右對齊 (默認(rèn), 寬度為10)

    print("|{:<10d}|".format(13))  # 左對齊 (寬度為10)

    print("|{:^10d}|".format(13))  # 中間對齊 (寬度為10)

    print("{}今年{{25}}歲了".format("張三"))  # 使用大括號 {} 來轉(zhuǎn)義大括號


if __name__ == '__main__':
    # func1()
    # func2()
    # func3()
    # func4()
    func5()

輸出結(jié)果為:

3.14
+3.14
-1.00
3
05
5xxx
10xx
1,000,000
25.00%
1.00e+09
|        13|
|13        |
|    13    |
張三今年{25}歲了

Process finished with exit code 0

三、%格式化輸出實例

實例3.1、整數(shù)的輸出

簡單提示:

  • %o —— oct 八進(jìn)制
  • %d —— dec 十進(jìn)制(digit )
  • %x —— hex 十六進(jìn)制
def func6():
    print('%o' % 20)
    print('%d' % 20)
    print('%x' % 20)


if __name__ == '__main__':
    # func1()
    # func2()
    # func3()
    # func4()
    # func5()
    func6()

輸出結(jié)果為:

24
20
14

實例3.2、 浮點數(shù)輸出

簡單提示:

  • %f —— float 保留小數(shù)點后面六位有效數(shù)字
  • %.3f,保留3位小數(shù)位
  • %e —— 保留小數(shù)點后面六位有效數(shù)字,指數(shù)形式輸出
  • %.3e,保留3位小數(shù)位,使用科學(xué)計數(shù)法
  • %g —— 在保證六位有效數(shù)字的前提下,使用小數(shù)方式,否則使用科學(xué)計數(shù)法
  • %.3g,保留3位有效數(shù)字,使用小數(shù)或科學(xué)計數(shù)法
def func7():
    print('%f' % 1.11)  # 默認(rèn)保留6位小數(shù)

    print('%.1f' % 1.11)  # 取1位小數(shù)

    print('%e' % 1.11)  # 默認(rèn)6位小數(shù),用科學(xué)計數(shù)法

    print('%.3e' % 1.11)  # 取3位小數(shù),用科學(xué)計數(shù)法

    print('%g' % 1111.1111)  # 默認(rèn)6位有效數(shù)字

    print('%.7g' % 1111.1111)  # 取7位有效數(shù)字

    print('%.2g' % 1111.1111)  # 取2位有效數(shù)字,自動轉(zhuǎn)換為科學(xué)計數(shù)法


if __name__ == '__main__':
    # func1()
    # func2()
    # func3()
    # func4()
    # func5()
    # func6()
    func7()

輸出結(jié)果為:

1.110000
1.1
1.110000e+00
1.110e+00
1111.11
1111.111
1.1e+03

實例3.3、字符串輸出

簡單提示:

  • %s —— string 字符串
  • %10s —— 右對齊,占位符10位
  • %-10s —— 左對齊,占位符10位
  • %.2s —— 截取2位字符串
  • %10.2s —— 10位占位符,截取兩位字符串
def func8():
    print('%s' % 'hello world')  # 字符串輸出

    print('%20s' % 'hello world')  # 右對齊,取20位,不夠則補(bǔ)位

    print('%-20s' % 'hello world')  # 左對齊,取20位,不夠則補(bǔ)位

    print('%.2s' % 'hello world')  # 取2位

    print('%10.2s' % 'hello world')  # 右對齊,取2位

    print('%-10.2s' % 'hello world')  # 左對齊,取2位


if __name__ == '__main__':
    # func1()
    # func2()
    # func3()
    # func4()
    # func5()
    # func6()
    # func7()
    func8()

輸出結(jié)果為:

hello world
         hello world
hello world         
he
        he
he   

實例3.4、格式化輸出用戶信息

編寫程序,調(diào)查用戶的姓名、年齡、職業(yè)和薪水,然后格式化輸出用戶信息,格式如下所示

------------info of 張三------------
Name:張三
Age:24
Job:計算機(jī)
Salary:52000
----------------end---------------

def func9():
    name = input("Name:")
    age = int(input("Age:"))
    job = input("Job:")
    salary = int(input("Salary:"))

    msg = """
    ------------info of %s------------
    Name:%s
    Age:%d
    Job:%s
    Salary:%d
    ----------------end---------------
    """ % (name, name, age, job, salary)

    print(msg)


if __name__ == '__main__':
    # func1()
    # func2()
    # func3()
    # func4()
    # func5()
    # func6()
    # func7()
    # func8()
    func9()

輸出結(jié)果為:

Name:BLACKPINK
Age:18
Job:sing
Salary:6688

    ------------info of BLACKPINK------------
    Name:BLACKPINK
    Age:18
    Job:sing
    Salary:6688
    ----------------end---------------  

四、完整程序

def func1():
    str = "網(wǎng)站名稱:{:>20s}\t網(wǎng)址:{:s}"
    print(str.format("Python中文網(wǎng)", "http://www.python-china.com/"))


def func2():
    # 以貨幣形式顯示
    print("貨幣形式:{:,d}".format(1000000))
    # 科學(xué)計數(shù)法表示
    print("科學(xué)計數(shù)法:{:E}".format(1200.12))
    # 以十六進(jìn)制表示
    print("100的十六進(jìn)制:{:#x}".format(100))
    # 輸出百分比形式
    print("0.01的百分比表示:{:.0%}".format(0.01))


def func3():
    print("{} {}".format("hello", "world"))  # 不設(shè)置指定位置,按默認(rèn)順序

    print("{0} {1}".format("hello", "world"))  # 設(shè)置指定位置

    print("{1} {0} {1}".format("hello", "world"))  # 設(shè)置指定位置


def func4():
    # 通過變量設(shè)置參數(shù)
    print("My name is {name},and I am {age} years old!".format(name="zhangsan", age="25"))

    # 通過字典設(shè)置參數(shù),需要解包
    info = {"name": "zhangsan", "age": "25"}
    print("My name is {name},and I am {age} years old!".format(**info))

    # 通過列表索引設(shè)置參數(shù)
    msg = ["zhangsan", "25"]
    print("My name is {0[0]},and I am {0[1]} years old!".format(msg))


def func5():
    print("{:.2f}".format(3.1415926))  # 保留小數(shù)點后兩位

    print("{:+.2f}".format(3.1415926))  # 帶符號保留小數(shù)點后兩位

    print("{:+.2f}".format(-1))  # 帶符號保留小數(shù)點后兩位

    print("{:.0f}".format(2.71828))  # 不帶小數(shù)

    print("{:0>2d}".format(5))  # 數(shù)字補(bǔ)零 (填充左邊, 寬度為2)

    print("{:x<4d}".format(5))  # 數(shù)字補(bǔ)x (填充右邊, 寬度為4)

    print("{:x<4d}".format(10))  # 數(shù)字補(bǔ)x (填充右邊, 寬度為4)

    print("{:,}".format(1000000))  # 以逗號分隔的數(shù)字格式

    print("{:.2%}".format(0.25))  # 百分比格式

    print("{:.2e}".format(1000000000))  # 指數(shù)記法

    print("|{:>10d}|".format(13))  # 右對齊 (默認(rèn), 寬度為10)

    print("|{:<10d}|".format(13))  # 左對齊 (寬度為10)

    print("|{:^10d}|".format(13))  # 中間對齊 (寬度為10)

    print("{}今年{{25}}歲了".format("張三"))  # 使用大括號 {} 來轉(zhuǎn)義大括號


def func6():
    print('%o' % 20)
    print('%d' % 20)
    print('%x' % 20)


def func7():
    print('%f' % 1.11)  # 默認(rèn)保留6位小數(shù)

    print('%.1f' % 1.11)  # 取1位小數(shù)

    print('%e' % 1.11)  # 默認(rèn)6位小數(shù),用科學(xué)計數(shù)法

    print('%.3e' % 1.11)  # 取3位小數(shù),用科學(xué)計數(shù)法

    print('%g' % 1111.1111)  # 默認(rèn)6位有效數(shù)字

    print('%.7g' % 1111.1111)  # 取7位有效數(shù)字

    print('%.2g' % 1111.1111)  # 取2位有效數(shù)字,自動轉(zhuǎn)換為科學(xué)計數(shù)法


def func8():
    print('%s' % 'hello world')  # 字符串輸出

    print('%20s' % 'hello world')  # 右對齊,取20位,不夠則補(bǔ)位

    print('%-20s' % 'hello world')  # 左對齊,取20位,不夠則補(bǔ)位

    print('%.2s' % 'hello world')  # 取2位

    print('%10.2s' % 'hello world')  # 右對齊,取2位

    print('%-10.2s' % 'hello world')  # 左對齊,取2位


def func9():
    name = input("Name:")
    age = int(input("Age:"))
    job = input("Job:")
    salary = int(input("Salary:"))

    msg = """
    ------------info of %s------------
    Name:%s
    Age:%d
    Job:%s
    Salary:%d
    ----------------end---------------
    """ % (name, name, age, job, salary)

    print(msg)


if __name__ == '__main__':
    print("------func1------")
    func1()
    
    print("------func2------")
    func2()
    
    print("------func3------")
    func3()
    
    print("------func4------")
    func4()
    
    print("------func5------")
    func5()
    
    print("------func6------")
    func6()
    
    print("------func7------")
    func7()
    
    print("------func8------")
    func8()
    
    print("------func9------")
    func9()

輸出結(jié)果為:

D:\SoftWare\Python\Anaconda3\envs\spider\python.exe E:/Document/programmLanguageExper/Python/spider/pythonBase/python基礎(chǔ).py
------func1------
網(wǎng)站名稱:           Python中文網(wǎng)    網(wǎng)址:http://www.python-china.com/
------func2------
貨幣形式:1,000,000
科學(xué)計數(shù)法:1.200120E+03
100的十六進(jìn)制:0x64
0.01的百分比表示:1%
------func3------
hello world
hello world
world hello world
------func4------
My name is zhangsan,and I am 25 years old!
My name is zhangsan,and I am 25 years old!
My name is zhangsan,and I am 25 years old!
------func5------
3.14
+3.14
-1.00
3
05
5xxx
10xx
1,000,000
25.00%
1.00e+09
|        13|
|13        |
|    13    |
張三今年{25}歲了
------func6------
24
20
14
------func7------
1.110000
1.1
1.110000e+00
1.110e+00
1111.11
1111.111
1.1e+03
------func8------
hello world
         hello world
hello world         
he
        he
he        
------func9------
Name:BLACKPINK
Age:18
Job:SING
Salary:6686

    ------------info of BLACKPINK------------
    Name:BLACKPINK
    Age:18
    Job:SING
    Salary:6686
    ----------------end---------------
    
Process finished with exit code 0

以上就是Python實現(xiàn)格式化輸出的實例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python格式化輸出的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • pytorch方法測試詳解——歸一化(BatchNorm2d)

    pytorch方法測試詳解——歸一化(BatchNorm2d)

    今天小編就為大家分享一篇pytorch方法測試詳解——歸一化(BatchNorm2d),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 解決torch.autograd.backward中的參數(shù)問題

    解決torch.autograd.backward中的參數(shù)問題

    今天小編就為大家分享一篇解決torch.autograd.backward中的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python機(jī)器學(xué)習(xí)三大件之一numpy

    Python機(jī)器學(xué)習(xí)三大件之一numpy

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)三大件之一numpy,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助喲.需要的朋友可以參考下
    2021-05-05
  • 詳解從Django Allauth中進(jìn)行登錄改造小結(jié)

    詳解從Django Allauth中進(jìn)行登錄改造小結(jié)

    這篇文章主要介紹了從 Django Allauth 中進(jìn)行登錄改造小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python實戰(zhàn)實現(xiàn)爬取天氣數(shù)據(jù)并完成可視化分析詳解

    Python實戰(zhàn)實現(xiàn)爬取天氣數(shù)據(jù)并完成可視化分析詳解

    這篇文章主要和大家分享一個用Python實現(xiàn)的小功能:獲取天氣數(shù)據(jù),進(jìn)行可視化分析,帶你直觀了解天氣情況!感興趣的小伙伴可以學(xué)習(xí)一下
    2022-06-06
  • python創(chuàng)建ArcGIS shape文件的實現(xiàn)

    python創(chuàng)建ArcGIS shape文件的實現(xiàn)

    今天小編就為大家分享一篇python創(chuàng)建ArcGIS shape文件的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 10個python爬蟲入門實例(小結(jié))

    10個python爬蟲入門實例(小結(jié))

    這篇文章主要介紹了10個python爬蟲入門實例(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 解決Pycharm界面的子窗口不見了的問題

    解決Pycharm界面的子窗口不見了的問題

    今天小編就為大家分享一篇解決Pycharm界面的子窗口不見了的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Selenium 模擬瀏覽器動態(tài)加載頁面的實現(xiàn)方法

    Selenium 模擬瀏覽器動態(tài)加載頁面的實現(xiàn)方法

    這篇文章主要介紹了Selenium 模擬瀏覽器動態(tài)加載頁面的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • python中l(wèi)ist.copy方法用法詳解

    python中l(wèi)ist.copy方法用法詳解

    這篇文章主要給大家介紹了關(guān)于python中l(wèi)ist.copy方法使用的相關(guān)資料,文中還介紹了python?list.copy()?和?copy.deepcopy()區(qū)別,需要的朋友可以參考下
    2023-02-02

最新評論