python中對字元串的格式化的簡單介紹

本文目錄一覽:

python字元串格式化什麼意思

在python中也有類似於c中的printf()的格式輸出標記。在python中格式化輸出字元串使用的是%運算符,通用的形式為

格式標記字元串 % 要輸出的值組

其中,左邊部分的」格式標記字元串「可以完全和c中的一致。右邊的’值組’如果有兩個及以上的值則需要用小括弧括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單形式為:

%cdoe

其中的code有多種,不過由於在python中,所有東西都可以轉換成string類型,因此,如果沒有什麼特殊需求完全可以全部使用』%s『來標記。比如:

‘%s %s %s’ % (1, 2.3, [‘one’, ‘two’, ‘three’])

它的輸出為’1 2.3 [‘one’, ‘two’, ‘three’]’,就是按照%左邊的標記輸出的。雖然第一個和第二值不是string類型,一樣沒有問題。在這個過程中,當電腦發現第一個值不是%s時,會先調用整型數的函數,把第一個值也就是1轉成string類型,然後再調用str()函數來輸出。前面說過還有一個repr()函數,如果要用這個函數,可以用%r來標記。除了%s外,還有很多類似的code:

整型數:%d

無符號整型數:%u

八進位:%o

十六進位:%x %X

浮點數:%f

科學記數法: %e %E

根據數值的不同自動選擇%e或%f: %g

根據數值的不同自動選擇%E或%f: %G

就跟前面說用\進行轉義一樣,這裡用%作為格式標記的標識,也有一個%本身應該如何輸出的問題。如果要在」格式標記字元串「中輸出%本身,可以用%%來表示。

上面說的只是格式標記的最簡間的形式,來看複雜一點的:

『%6.2f』 % 1.235

在這種形式中,在f的前面出現了一個類似小數的6.2它表示的意思是,總共輸出的長度為6個字元,其中小數2位。還有更複雜的:

『%06.2f』 % 1.235

在6的前面多了一個0,表示如果輸出的位數不足6位就用0補足6位。這一行的輸出為『001.24』,可以看到小數也佔用一位。類似於這裡0這樣的標記還有-、+。其中,-表示左對齊,+表示在正數前面也標上+號,默認是不加的。最後來看最複雜的形式:

『%(name)s:%(score)06.1f』 %{‘score’:9.5, ‘name’:’newsim’}

這種形式只用在要輸出的內容為dictionary(一種python的數據類型)時,小括弧中的(name)和(score)對應於後面的鍵值對中的鍵。前面的例子可以看到,」格式標記字元串「中標記的順序和”要輸出的值組”中的值是一一對應的,有順序,一對一,二對二。而在這種形式中,則不是,每個格式標記對應哪個值由小括弧中的鍵來指定。這行代碼的輸出為:’newsim:0009.5’。

有時候在%6.2f這種形式中,6和2也不能事先指定,會在程序運行過程中再產生,那怎麼輸入呢,當然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,當然在後面的」要輸出的值組「中包含那兩個*的值。比如:’%*.*f’ % (6, 2, 2.345)就相當於’%6.2f’ % 2.345。

這是這本書到此為止看起來最複雜的內容。不過如果記不住,或不想那麼耐煩,完全可以全部用%s代替,或者用多個”+”來構造類似的輸出字元串。這裡的%真有點除法的味道,怪不得設計者會選擇用%這個除號。

象C 中的sprintf函數一樣,可以用「%」來格式化字元串

Table 3.1. 字元串格式化代碼

格式 描述

%% 百分號標記

%c 字元及其ASCII碼

%s 字元串

%d 有符號整數(十進位)

%u 無符號整數(十進位)

%o 無符號整數(八進位)

%x 無符號整數(十六進位)

%X 無符號整數(十六進位大寫字元)

%e 浮點數字(科學計數法)

%E 浮點數字(科學計數法,用E代替e)

%f 浮點數字(用小數點符號)

%g 浮點數字(根據值的大小採用%e或%f)

%G 浮點數字(類似於%g)

%p 指針(用十六進位列印值的內存地址)

%n 存儲輸出字元的數量放進參數列表的下一個變數中

python字元串格式化輸出方法

在python中也有類似於c中的printf()的格式輸出標記。在python中格式化輸出字元串使用的是版%運算符,通用的形式為 格式標記字元串 % 要輸權出的值組 其中,左邊部分的」格式標記字元串「可以完全和c中的一致。

Python基礎(19) – 使用fstring方法格式化字元串

1.使用fstring方法可以直接格式化

1.fstring方式指的是在字元串中直接使用Python變數,這需要在字元串的前面用f標註

Python如何格式化輸出字元串!

python一共有兩種格式化輸出語法,

一種是類似於C語言printf的方式,稱為 Formatting Expression

print ‘%s %d-%d’ % (‘hello’, 7, 1)

‘hello 7-1’

另一種是類似於C#的方式,稱為String Formatting Method Calls

print ‘{0} {1}:{2}’.format(‘hello’, ‘1’, ‘7’)

‘hello 1:7’

第一種方式可以指定浮點數的精度,例如

print’%.3f’ % 1.234567869

‘1.235’

運行時動態指定浮點數的精度

但是當代碼在運行中如何動態地通過參數來指定浮點數的精度呢?

python的神奇之處在於它又提供了一種非常方便的語法。只需要在 typecode(這裡是f)之前加一個 *,浮點數的精度就用它前面的數字來指定。

 for i in range(5):

…  print’%.*f’ % (i, 1.234234234234234)

‘1’

‘1.2’

‘1.23’

‘1.234’

‘1.2342’

通過輸出結果可以看出,精度都是在運行時動態指定,這樣就省去了格式化字元串的拼湊。

使用 String Formatting Method Calls 可以更簡潔地完成功能。

 for i in range(5):

…   print'{0:.{1}f}’.format(1 / 3.0, i)

‘0’

‘0.3’

‘0.33’

‘0.333’

‘0.3333’ 

附錄是一些常用用法——

python print格式化輸出。

1. 列印字元串

print (“His name is %s”%(“Aviad”))

2.列印整數

print (“He is %d years old”%(25))

3.列印浮點數

print (“His height is %f m”%(1.83))

4.列印浮點數(指定保留小數點位數)

print (“His height is %.2f m”%(1.83))

5.指定佔位符寬度

print (“Name:%10s Age:%8d Height:%8.2f”%(“Aviad”,25,1.83))

6.指定佔位符寬度(左對齊)

print (“Name:%-10s Age:%-8d Height:%-8.2f”%(“Aviad”,25,1.83))

7.指定佔位符(只能用0當佔位符?)

print (“Name:%-10s Age:%08d Height:%08.2f”%(“Aviad”,25,1.83))

8.科學計數法

format(0.0015,’.2e’)

Python 3 格式化字元串的幾種方法

有的,知道的有三種方式可選。

1、可以用類似C語言的格式化方式,比如:

f = 1.234print(“%.2f” % f)

2、使用字元串的format函數.

3、rjust(n)、ljust(n)

原創文章,作者:VOSLR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129910.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VOSLR的頭像VOSLR
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論