Python如何格式化輸出字串

2022-04-09 07:50:52 字數 5122 閱讀 9829

1樓:汪昱帆

我給你看一下三種類形

格式是這樣的print('格式化形式...格式化形式...' % (物件,物件))

物件的型別是各種各樣的!

1.print('%s...%s...' % (物件,物件))這裡的%s是字串形式,物件可以是變數(變數的值是字串形式)或者字串

2.print('%d...%d...' % (物件,物件))這裡的%d是數形式,物件可以是變數(變數的值是數,但是不能有小數點)或者沒有小數點的數

3.print('%.數字f...%.數字f' % (物件,物件))這裡的%f是數形式,物件可以是變數(變數的值是數,但是一定要有小數點)或者有小數點的數

ps:%f的格式f前面是留住的小數點,留著的小數點數前面要有個.例:a = 5.44我想輸出是留下一位小數就寫print('%.1f' % (a))就是正確輸出了

望採納,謝謝

python字串格式化什麼意思

2樓:匿名使用者

在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』 %

這種形式只用在要輸出的內容為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中請問怎麼格式化輸出列表

3樓:匿名使用者

寫成print('a='.format(a))

就不會換行了

4樓:

print( 'a=',a)

或者print( 'a=%s'%a)

5樓:italj灬笨蛋

print有個引數end,預設end='\n',也就是預設換行。

你可以先print(『a=』, end  = ''),即指定這一行列印完以什麼結尾,這裡把預設的'\n'替換成了無操作 '',如果你加空格,即 ' '而不是'',那個空格會被加到結尾。接著再print(a),就可以在一行了,但此時print(a)中又會恢復預設設定,在他之後再print就恢復換行。

不過更推薦使用print('字串 , 字串 '.format())的方法進行格式化輸出。

關於python的字串格式化

6樓:

在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』 %

這種形式只用在要輸出的內容為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 儲存輸出字元的數量放進引數列表的下一個變數中

手機如何格式化,如何徹底格式化android手機

格機由於手機執行或安裝某些程式時免不了出現某些無法解決的問題,這時可利用格機的方式恢復手機系統原始設定a 軟格機1 最簡單的,使用手機設定中的 恢復出廠設定 功能,按照提示操作就是了。2 輸入 7780 手機軟復位 格機後儲存 號碼 資訊 來電去電號碼等 3 輸入 7370 原始密碼12345。手機...

硬碟怎麼格式化,如何正確格式化硬碟。

有很多pe微系統 一般都有分割槽功能 當然也能格式化硬碟了。如何正確格式化硬碟。如果您使用的是windows電腦,可按照以下步驟進行硬碟格式化 1 右鍵點選 開始 按鈕,從開始選單中選擇 磁碟管理 選擇要格式化的硬碟碟符,再單擊右鍵,選擇 格式化 2 根據自己的需求,選擇合適的 檔案系統 要在wind...

怎樣將手機強制格式化?如何徹底格式化手機

不同手機的強制格式化的方法不同,下面列舉幾種常見的手機格式化方法。三星 設定 隱私權 恢復出廠設定。oppo 設定 其他設定 還原手機 還原系統所有設定。榮耀6 設定 備份和重置 恢復出廠設定 格式化內部儲存空間 重置手機。蘋果 設定 通用 還原 還原所有設定 抹掉所有內容和設定。雖然不同手機的格式...