小瘋談python:字符串的拼接與格式化輸出

2021-01-07 瘋一般的男人ova

在上一篇文章中我想大家介紹了字符串的內置操作函數和方法,不過對於字符串來說這並不是最重要的知識點,因為對於字符串的操作我們一般首選是使用正則表達式。

對於初學者來說,字符串最重要的其實是其格式化輸出,因為一個程序運行結束後,如果要我們要列印相關的數據,絕大多數情況下都是以字符串的形式呈現在控制臺。因此為了使結果具有更好的可讀性和靈活性,字符串的格式化輸出就顯得格外重要。例如,我現在接受了用戶的輸入的年齡信息,如果我直接將這個年齡列印在控制臺上那麼對於需要這些數據的人來說可能不友好,因為他們可能不知道這個數據是什麼意思,也就是說列印出來到數據不具有泛讀性。

同樣的在字符串中我們無法直接使用代碼中的變量因為python解釋器會默認字符串內的元素為字符。

因此為了實現我們列印出來的數據有一定的修飾語,一般有兩種辦法,分別是字符串的拼接和格式化化字符串。

字符串的拼接

我們在知道,對於兩個同類型的序列類型,我們可以通過 『+』 這個符號進行拼接,因此如果我們想要對年齡有一定的修飾,就可以通過 print('年齡:'+str(age)+歲)的方式列印在控制臺上

通過上面的列子我們可以看到,利用字符串的憑藉可以在一定程度上對年齡進行修飾,使得輸出的結果具有泛讀性。但是,其缺點也很明顯,就是拼接的數據類型必須是全是字符串類型,同時這種方式也有一點不規範。因此為了更為方便的對列印的數進行修飾,我們常常使用格式化字符串的方法。

字符串的格式化

在python中格式化字符串有兩種方式,一種是通過『c%』,一種是通過format()方法。雖然兩者都可以對字符串進行格式化輸出,但是我個人認為前者在表達方式和語法上並沒有後者那麼清晰明了,所以我在這篇文章中便不多說,同時也建議大家以後儘量使用format()方法。

基本使用格式:'其他字符 {} 其他字符'.format(參數)。 其中 { } 是佔位符,起著給傳入參數提供位置和對其進行進步操作的作用。

當然,你也可以傳入多個參數。

默認傳參

當傳入多個參數的時候,默認參數是重前向後傳入的,如果你要改變參數傳入的順序,那麼你可在『{}』中設置索引值。例如

位置傳參

以上便是格式化中最基本的參數傳遞,這其中還有許多有趣的知識點,例如{{},{}}中的參數是如何傳遞的,如果我要保留大括號該怎麼辦,這些問題小夥伴有興趣可以自己探索。

當然forma()方法能做的不僅僅是將參數傳入到字符串中,還可以對字符串,整數,浮點數(這三種數據類型有被稱為基本數據類型,是另一種數據類型的劃分標準)進行格式上的改變。

什麼是格式上的改變呢?

在我們使用word中,常常會對段落進行對齊,對數子進行精確小數點位數等格式操作。同樣的在python中,我們也可以通過format()方法對基本數據類型進行這樣的操作。

對齊操作:在format方法中我們可以通過'<','>','^'這三個符號設置左對齊,右對齊和居中對齊。其中左對齊是默認對齊方式。具體操作'{0:>N}'.format(str)其中N為輸出的寬度,str為需要格式化的參數。

在對齊的過程中,我們會發現如果我們設置的寬度小於字符串的長度,那麼字符串將全部輸出不進行對齊操作。如果寬度大於字符串長度,那麼進行對齊操作,剩餘的寬度用空格進行填充。但是有時候,我們並不希望使用空格填充,而是希望用一些特殊的符號進行填充從而達到視覺上的美觀的效果,這時候我們只要在對齊方式的符號前添加特殊符號即可。

精度操作:format()方法中的精度操作有兩個含義。對於浮點數和整數來說,精度表示保留幾位小數(會四捨五入,整數會用0填充),對於字符串來說精度表示輸出元素的個數。具體操作'{0:.Nf}'.format(str)其中N為保留的位數,str為需要格式化的參數(對字符串進行操作不要加f)。

對浮點數進行精度操作

對字符串進行精度操作

當然,你也可以和對齊操作一起使用

類型操作:類型操作表示輸出整數和浮點數的格式規則,由於我們絕大多數情況都是使用的十進位,所以對於類型操作,初學者不必掌握,只需要了解,這裡只介紹整數的六種類型操作。

b:輸出整數的二進位表示c:輸出整數對應的Unicode字符d:輸出整數的十進位表示o:輸出整數的八進位表示x:輸出整數小寫的十六進位表示X:輸出整數大寫的十六進位表示

最後,字符串的格式化輸出是初學者必須要掌握的字符串操作的方法,上面所有的格式化我都是通過print()函數列印在控制臺上的,如果你想要將它儲存到文件中,你可以通過變量進行接收,然後利用之後將會講到的文件操作將它寫入到文件中。

好的以上便是關於字符串格式化輸出的內容,如果你有什問題可以直接私信我,下一篇將開始具體介紹散列類型。同樣的,如果小夥伴覺得有所收穫,那麼還請點讚和轉發一下吧。

相關焦點

  • Python的神奇魔法:鞏固熟練運用字符串拼接序列類型轉化格式化
    Python我們既然學習了字符串(str)的拼接,序列類型的相互轉化,以及格式化化輸出的內容。今天我們來一起研究一下如何熟練運用,怎麼將需求完美展現。開發工具:IDLE (Python 3.7 64-bit) 註:不需要和小編一樣的版本,只要是Python3的版本就可以,語法方面沒有什麼不同的。
  • 真的了解字符串拼接嗎?用Python拼接字符串的常用方法及性能分析
    本篇不會全部進行匯總,旨在通過幾種常用的方法在不同條件下性能進行對比,為大家提供一種字符串使用的指導意見。大家選擇自己熟悉的掌握並使用即可,不需要全部進行記憶(留下大腦空間記點別的東西……)。常見的字符串拼接方式「+」操作符拼接「+」操作符連接字符串是Python中比較經典的字符串拼接方式。可以使用「+」將兩個字符串直接進行拼接。
  • Python格式化字符串(格式化輸出)
    ,比如格式化輸出,這就是本節要講解的內容。print() 函數使用以%開頭的轉換說明符對各種類型的數據進行格式化輸出,具體請看下表。【實例】輸出一個整數:age = 8print("C語言中文網已經%d歲了!" % age)運行結果:C語言中文網已經8歲了!在 print() 函數中,由引號包圍的是格式化字符串,它相當於一個字符串模板,可以放置一些轉換說明符(佔位符)。
  • 左右用R右手Python系列——字符串格式化輸出
    在R語言中,字符串格式化輸出除了以上常見操作之外,還有一些非常重要的需求,比如格式化輸出百分比,格式化輸出日期時間等。此函數據說來頭不小。(據說繼承自C/C++),該函數的使用可以大大簡化字符串格式化輸出的操作流程。
  • Python字符串拼接(包含字符串拼接數字)
    在 Python 中拼接(連接)字符串很簡單,可以直接將兩個字符串緊挨著寫在一起,具體格式為:strname = "str1" "
  • python字符串格式化深入詳解(四種方法)
    前言:本文詳細整理了python字符串格式化的幾種方式。
  • Python字符串類型的格式化
    字符串格式化用於解決字符串和變量同時輸出時的格式安排。字符串是程序向控制臺、網絡、文件等介質輸出運算結果的主要形式之一,為了能提供更好的可讀性和靈活性,字符串類型的格式化是運用字符串類型的重要內容之一。Python語言同時支持兩種字符串格式化方法,我們本課題要學習的是format()格式化方法,採用format()方法進行字符串格式化。
  • 十六、深入Python字符串
    「@Author :Runsen」python日常處理字符串較多,本文總結一下Python的日常使用。注意python的字符串是不可變的,這個和元組一樣。但是在python中如果想要改變字符串,往往需要O(n)的時間複雜度,n是新字符串的長度拼接字符串str1 += str2  # 表示 str1 = str1 + str2# 這個時間複雜度是多少s = ''for n in range(0, 100000):    s +
  • Python-字符串格式化
    前言Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。相對於老版的%格式方法,它有很多優點。1.在%方法中%s只能替代字符串類型,而在format中不需要理會數據類型;2.單個參數可以多次輸出,參數順序可以不相同;3.填充方式十分靈活,對齊方式十分強大;4.官方推薦用的方式,%方式將會在後面的版本被淘汰。
  • Python字符串總結
    ab clen(s)5代碼中的'\n',表示一個字符——換行符;'\t'也表示一個字符,四個空格字符 a,換行,字符 b,然後制表符,最後列印字符 c 最後列印的輸出橫跨了兩行,StringBuilder ,每次改變字符串,無需創建新的字符串,時間複雜度為O(1)但是在python中如果想要改變字符串,往往需要O(n)的時間複雜度,n是新字符串的長度拼接字符串str1 += str2 # 表示 str1 = str1 + str2
  • Python:字符串
    在之前講格式化輸出的時候,實際上已經提過Python的字符串,下面將會對字符串以及字符串的操作進行比較詳細的講解。    有關字符串的操作很多, 比如訪問字符串內的值,因為字符串也是有序的序列,因而可以通過下標索引的方式對字符串進行訪問或是切片,操作的方法和列表一樣;還有字符串的格式化,有關字符串的格式化在之前的格式化輸出中有了詳細的講解,主要有 % ;format()函數;f_string 這些方法。因為以上的知識之前都有過講解,這裡不做贅述。
  • Python變量,輸入和輸出,數字,字符串操作
    小駝峰式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫。大駝峰式命名法(upper camel case): 每一個單字的首字母都採用大寫字母。python中推薦使用下劃線「_」來連接,但在命名時一定要注意關鍵字。
  • Python3的字符串類型(瘋狂Python)
    4.2.1 repr和字符串Python不允許直接拼接數值和字符串,必須先將數值轉換成字符串。raw_input()是python 2中的,相當於python 3中的inputIn [27]: i = input()1
  • Python字符串的拼接
    什麼是拼接呢?簡單地說就是把單獨的個體相加在一起組成一個新的個體。在Python中,兩個以上不同的字符串,可以直接使用運算符加號「+」,將它們拼接起來。(這個應該可以直接理解為字符串相加運算。)舉個例子,柳宗元的詩《江雪》中有四句,將這四句詩定義成為四個字符串,然後使用加號將這四個字符串拼接起來,詳見下圖:
  • 【語言學習】python——字符串
    字符串的基本操作圖源:清華大學公眾號•python中一共提供了2類4中字符串的表示方法,如果希望在字符串中包含雙引號或者單引號。那麼如果想表示雙引號的話,字符串就用單引號,反之亦然。     •字符串的序號有正向遞增序號和反向遞減序號•正向遞增從0開始;•反向遞減從-1開始;•索引:返回字符串中單個字符 <字符串>[M].
  • 如何使用Python 進行格式化輸出?
    ,並沒有對比過這些輸出有什麼異同,也並不清楚該用哪種格式化輸出方式比較合適,因此,今天就要幫大家梳理下Python的格式化輸出方式。首先明確下,什麼是格式化輸出?當我們通過print 語句或者 write 語句向外設進行輸出的時候,往往並不會僅僅只是輸出一個固定的字符串,而是希望把某些變量的值嵌入到字符串中進行輸出,並且對於輸出格式,可能還需要進行控制,例如如何對齊(左對齊,居中對齊,右對齊),小數點保留幾位,使用十進位還是十六進位,是否要使用科學記數法輸出等。格式化輸出,可以幫你靈活方便的控制輸出樣式。
  • Python基礎知識點手冊——字符串方法(二)
    Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'返回一個由 iterable 中的字符串拼接而成的字符串。如果 iterable 中存在任何非字符串值則會引發 TypeError。調用該方法的字符串將作為元素之間的分隔。
  • Python的基本數據類型之二:字符串(String)(上)
    字符串類型在Python中是一種最常見,也是最常用的類型,從今天開始,我們分三個章節,儘可能詳細的對字符串進行介紹,希望朋友們多多關注我們,對我們也是一種極大的支持和鼓勵,謝謝!>>>print(str3) #輸出:hello world >>>print(str4) #輸出:hello world這都是可以的;小貼士:1.python中的字符串是一個高級工具
  • Python如此簡單,用格式化輸出拍馬屁,味道都不一樣
    這看起來好蠢啊,如果能夠一個一個的輸出還好一點,機智如我,馬上想到用for循環連續輸出10次不就行了嗎?馬上實踐。確實輸出了10次,但是每次都是第1名,明顯不符合邏輯啊,這也太赤裸裸的造假 了吧,得把名詞改改呀。機智如我,把字符串中的1換成i不就行了嗎?這是什麼鬼,i 不是應該不斷變化麼,怎麼沒有變化?
  • Python 入門 – 使用字符串
    在本文中,你將學習如何:創建字符串字符串方法字符串格式化字符串連接字符串切片讓我們從學習創建字符串的不同方法開始吧!創建字符串這裡是創建字符串的一些例子:你可以使用.strip()及其變體,.rstrip()和.lstrip(),來去除字符串中的空格,包括制表符和換行符。這在你讀取需要進行解析的文本文件時特別有用。實際上,你經常會從字符串中去除行尾字符,然後對結果使用.split()來解析出子字符串。我們來做一個小練習,在這裡你將學習如何解析出一個字符串中的第二個單詞。