Python格式化中如何使用 運算子詳解

2021-06-17 16:44:07 字數 1619 閱讀 4279

在python中你也許會遇到過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』 %  

這種形式只用在要輸出的內容為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。

python 格式化和format格式化

格式 name flags width precision typecode name 可選,用於選擇指定的key flags 可選,可提供的值有 右對齊,整數前加正號,負數前加負號 左對齊,正數錢無符號,負數前加負號 空格 右對齊 正數前加空格,負數前加負號 0 右對齊,正數前無符號,負數前加負號...

python中的格式化問題

本文對python的格式化問題做個總結。以 hello 為例 在python編輯器中要實現上面的字串,我們可以這樣寫 print hello,s world 當然,world 可以換成別的你自己的輸入,比如這樣 name input 請輸入你的名字 請輸入你的名字 jack print hello,...

在Python中的格式化

str ses i 1 print str str1 ses i 1 print str1 str2 ses i 2 print str2 列印出的結果 ses 1 ses 1 ses 2 一開始沒有明白為什麼會是這樣的結果 格式化操作 python的字串格式化操作跟c語言printf 函式的字串格...