日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

肝!2500字 字符串专题总结

發(fā)布時間:2024/9/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 肝!2500字 字符串专题总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這篇是字符串專題總結(jié)

除了常見的數(shù)值型,字符串是另一種常遇到的類型。一般使用一對單引號或一對雙引號表示一個字符串。

字符串中如果遇到 \ 字符,可能是在做字符轉(zhuǎn)義,所謂的轉(zhuǎn)義便是字符的含義發(fā)生改變,比如常用的\n 組合,轉(zhuǎn)義后不再表示字符n本身,而是完成換行的功能。

類似的,還有很多轉(zhuǎn)義字符,如 \t, 正則表達(dá)式中 \s,\d等等。

接下來一一總結(jié)字符串常見用法,此專題展開的思維導(dǎo)圖如下:

字符串專題思維導(dǎo)圖

1 字符串創(chuàng)建

一般使用一對單引號或一對雙引號表示一個字符串。如下所示s 為字符串:

s?=?'python'?#?或?s?=?"python"

很多情況下單引號和雙引號作用相同,但是一些情況還是存在微妙不同。

例如,使用一對雙引號("")時,打印下面字符串無需轉(zhuǎn)義字符(也就是\字符):

In?[10]:?print("That?isn't?a?horse") That?isn't?a?horse

但是使用一對單引號打印時,卻需要添加轉(zhuǎn)義字符 \,如下所示:

In?[11]:?print('That?isn\'t?a?horse') That?isn't?a?horse

除此之外,如果遇到字符串偏長,一行容不下來,需要展示為多行。一對三重單引號'''或三重"""就會派上用場,它們能輕松實現(xiàn)跨行輸入:

In?[12]:?print("""You're?just?pounding?two...:?coconut?halves?together.""") You're?just?pounding?two coconut?halves?together.

2 \ 轉(zhuǎn)義

轉(zhuǎn)義的語法:一個\+單個字符,組合后單個字符失去原來字面意義,會被賦予一個新的功能。

常見的轉(zhuǎn)義字符:\n 完成換行,\t tab 空格等。

轉(zhuǎn)義的另外一個重要作用是用于Python的正則。正則不僅指使用模塊 re 完成字符串處理,還泛指很多常用包中函數(shù)的參數(shù)使用小巧的正則表達(dá),比如數(shù)據(jù)分析必備包 pandas,str訪問器中 split, cat 等方法參數(shù)中使用轉(zhuǎn)義字符。

關(guān)于正則處理字符串的常見用法,后面會有一個單獨的專題總結(jié)。

3 字符串與數(shù)字

字符串與數(shù)字結(jié)合也會十分有用,可以玩出很多有趣的花樣。

數(shù)字n乘以字符串會克隆出n倍個原字符串:

In?[42]:?3*'py' Out[42]:?'pypypy'

20乘以字符-會繪制出一條虛線:

In?[43]:?20*'-' Out[43]:?'--------------------'

2個字符串常量能直接結(jié)合,中間不用添加任何東西,如下:

In?[14]:?'Py''thon' Out[14]:?'Python'

單個字符還能與數(shù)值完成互轉(zhuǎn),內(nèi)置函數(shù)ord轉(zhuǎn)換單個字符為整型,chr函數(shù)轉(zhuǎn)換整數(shù)為單個字符:

In?[35]:?ord('振') Out[35]:?25391 In?[36]:?chr(25391) Out[36]:?'振'

還能使用bytes函數(shù)將字符串轉(zhuǎn)為字節(jié)類型(bytes),使用str函數(shù)轉(zhuǎn)化字節(jié)類型為字符串:

s?=?'python' sa?=?bytes(s,encoding='utf-8') s?=?str(sa,encoding='utf-8')

4 字符串打印及格式化

常規(guī)打印一個字符串比較簡單,如果打印字符串中含有變量,該怎么正確打印。一般有兩種方法:

  • 使用 format 函數(shù)

  • 字符串變量使用一對花括號{}, format 參數(shù)中指定變量的取值:

    >>>?print("i?am?{0},age?{1}".format("tom",18)) i?am?tom,age?18
  • f打印

  • f 后面緊跟一個字符串,其中花括號{}中直接寫出變量名稱,顯然這種含有變量的打印方法更加符合大多數(shù)人的習(xí)慣:

    In?[45]:?tom?=?'tom' In?[46]:?age?=?18 In?[47]:?print(f'i?am?{tom},?age?{age}') i?am?tom,?age?18

    除了知道如何打印字符串,還有一項重要的事:如何控制字符串的打印。

    雖然這是一個非常小的功能,但是知道一些常見的控制方法,卻能使得書寫更加簡潔。常見的控制打印用法:

    輸出中如何控制保留兩位小數(shù),整數(shù)補(bǔ)零填充,對齊,百分比格式打印,整數(shù)太長使用科學(xué)計數(shù)法打印等等??梢杂涀∪缦?strong>7種常見用法:

    (1). 保留小數(shù)點后兩位

    #?1?保留小數(shù)點后兩位 >>>?print("{:.2f}".format(3.1415926))? 3.14

    (2). 帶符號保留小數(shù)點后兩位

    >>>?print("{:+.2f}".format(-1))? -1.00

    (3). 不帶小數(shù)位

    >>>?print("{:.0f}".format(2.718))?#?不帶小數(shù)位 3

    (4). 整數(shù)補(bǔ)零,填充左邊, 寬度為3

    >>>?print("{:0>3d}".format(5))?#?整數(shù)補(bǔ)零,填充左邊,?寬度為3 005

    (5). 以逗號分隔的數(shù)字格式

    >>>?print("{:,}".format(10241024))?#?以逗號分隔的數(shù)字格式 10,241,024

    (6). 百分比格式

    >>>?print("{:.2%}".format(0.718))?#?百分比格式 71.80%

    (7). 指數(shù)記法

    >>>?print("{:.2e}".format(10241024))?#?指數(shù)記法 1.02e+07

    5 字符串常見處理操作

    字符串對應(yīng)Python中的 str 類型,其內(nèi)置封裝的方法有幾十個,下面列舉一些常用的必知的用法。

    join 串聯(lián)多個字符串,注意Python中沒有單個字符這種類型,單個字符在Python中也會被當(dāng)作str類型。如下連接多個字符串,最終打印出 Python串:

    chars?=?['P',?'y',?'t',?'h',?'o',?'n'] name?=?''.join(chars)

    既然有串聯(lián)字符串,就應(yīng)該有相反的操作:分割字符串,一般使用split函數(shù),第一個參數(shù)指明分割字符串使用的分割符:

    In?[49]:?'col1,col2,col3'.split(',') Out[49]:?['col1',?'col2',?'col3']

    split還有第二個參數(shù)指明需要做的分割次數(shù),比如只做一次分割,得到如下兩個元素:

    In?[51]:?'col1,col2,col3'.split(',',1) Out[51]:?['col1',?'col2,col3']

    split默認(rèn)是從左側(cè)開始分割字符串,與之對應(yīng)的另一個函數(shù)rsplit就是從右側(cè)開始分割字符串,某些場景rsplit函數(shù)更好用一些。從右側(cè)開始只做一次分割可以寫為:

    In?[52]:?'col1,col2,col3'.rsplit(',',1) Out[52]:?['col1,col2',?'col3']

    除了以上兩個常用的方法,還有replace,startswith,strip,lstrip等等經(jīng)常也會用到,在此不再一一舉例。

    以上就是字符串處理的基本用法專題,主要總結(jié)了:

    • 1 字符串創(chuàng)建

    • 2 \ 轉(zhuǎn)義

    • 3 字符串與數(shù)字

    • 4 字符串打印及格式化

    • 5 字符串常見處理操作

    最后,以一個更有意思的小功能作為本專題的收尾。

    已知下面一個長句,將其轉(zhuǎn)化為多行,每行只有11個字符。

    words?=?'是想與朋友們分享一個再普通不過的道理:腳踏實地做些實事,哪怕是不起眼的小事,每天前進(jìn)一點,日積月累會做出一點成績的。'

    借助內(nèi)置的textwrap模塊中fill方法,實現(xiàn)每行11個字符:

    import?textwrap r?=?textwrap.fill(words,11) print(r)?

    結(jié)果:

    是想與朋友們分享一個再 普通不過的道理:腳踏實 地做些實事,哪怕是不起 眼的小事,每天前進(jìn)一點 ,日積月累會做出一點成 績的。

    ?往期推薦?

    ????

  • 這個只有1.5M的軟件,能讓你的網(wǎng)速快3倍

  • 微軟太良心,這么強(qiáng)大的軟件竟然完全免費!

  • Python下載文件的11種方式

  • 肝!Python 教程:從零到大師

  • - End -

    最后說一個題外話,相信大家有不少人開通了視頻號。小詹也開通了一個視頻號,會分享互聯(lián)網(wǎng)那些事、讀書心得與副業(yè)經(jīng)驗,歡迎各位掃描下方二維碼關(guān)注。

    總結(jié)

    以上是生活随笔為你收集整理的肝!2500字 字符串专题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。