您好,登錄后才能下訂單哦!
本篇文章為大家展示了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。
上述內容就是Python中如何使用%運算符,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。