黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python學(xué)習(xí)筆記005——字符串

系統(tǒng) 2068 0

1.字符串概述

字符串是編程語(yǔ)言中的一種數(shù)據(jù)類型,Python當(dāng)中字符串與其他語(yǔ)言中的字符串一樣,是一種強(qiáng)大的處理工具集,但與C語(yǔ)言不同的是,Python中沒(méi)有單個(gè)字符這種類型,取而代之的是只有一個(gè)字符的字符串類型。Python字符串被劃為了不可變序列這一類別,這意味著Python中的字符串存在從左到右的順序,且他們不可在原位置上修改。

2.一般的字符串

2.1字符串的定義

Python中字符串的定義可以用單引號(hào)、雙引號(hào)和三引號(hào),,其中單雙引字符串是一樣的,可以通用,但三引號(hào)不同,三引號(hào)的字符串類似標(biāo)注信息,可以用來(lái)說(shuō)明代碼的用途,也可以在程序中運(yùn)行。字符串定義的舉例:

            
              
                >>
              
              
                >
              
              
                'abcd'
              
              
                'abcd'
              
              
                >>
              
              
                >
              
              
                "abcd"
              
              
                'abcd'
              
              
                >>
              
              
                >
              
              
                """abcd"""
              
              
                'abcd'
              
              
                >>
              
              
                >
              
              
                'ab'
              
              
                ,
              
              
                "cd"
              
              
                (
              
              
                'ab'
              
              
                ,
              
              
                'cd'
              
              
                )
              
              
                >>
              
              
                >
              
              
                'ab"cd'
              
              
                ,
              
              
                "ab'cd"
              
              
                # 逗號(hào)隔開(kāi)的字符串會(huì)形成一個(gè)元組
              
              
                (
              
              
                'ab"cd'
              
              
                ,
              
              
                "ab'cd"
              
              
                )
              
              
                >>
              
              
                >
              
               title
              
                =
              
              
                'a'
              
              
                "b"
              
              
                'c'
              
              
                #字符串會(huì)自動(dòng)合并
              
              
                >>
              
              
                >
              
               title

              
                'abc'
              
            
          

2.2轉(zhuǎn)義字符串

在字符串中加入“\”可以嵌入一些特殊的字符,反斜杠會(huì)引入特殊的字節(jié)編碼,可以讓我們能在字符串中嵌入不容易使用鍵盤(pán)輸入的字符。Python中提供的一些轉(zhuǎn)義字符如下表,更多的考研參考一些Python教材:

轉(zhuǎn)義 說(shuō)明
\newline 忽視(連續(xù))
\ \ 反斜杠(\))
\ ’ 單引號(hào)(‘)
\ “ 雙引號(hào)(“)
\ n 換行

2.3Raw字符串

Raw字符串會(huì)抑制轉(zhuǎn)義,可以用在不需要轉(zhuǎn)義的場(chǎng)景,比如通過(guò)字符串定位到文件并打開(kāi)。舉例如下:

            
              
                >>
              
              
                >
              
               path 
              
                =
              
              
                'C:\new\text.dat'
              
              
                >>
              
              
                >
              
               path

              
                'C:\new\text.dat'
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              path
              
                )
              
              
C
              
                :
              
              
ew      ext
              
                .
              
              dat

              
                >>
              
              
                >
              
               path 
              
                =
              
               r
              
                'C:\new\text.dat'
              
              
                # Raw字符串抑制轉(zhuǎn)義
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              path
              
                )
              
              
C
              
                :
              
              \new\text
              
                .
              
              dat

            
          

2.4三重引號(hào)的字符串

又稱塊字符串,可以方便的寫(xiě)出換行這種格式的字符串。

            
              
                >>
              
              
                >
              
               txt 
              
                =
              
              
                """llllllll
... bbbbbbbb
... cccccccc
... """
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              txt
              
                )
              
              
llllllll
bbbbbbbb
cccccccc

            
          

3字符串的應(yīng)用

3.1基本操作

            
              
                >>
              
              
                >
              
              
                len
              
              
                (
              
              
                'abc'
              
              
                )
              
              
                # 求字符串的長(zhǎng)度
              
              
                3
              
              
                >>
              
              
                >
              
              
                'abc'
              
              
                +
              
              
                'def'
              
              
                # 字符串相加
              
              
                'abcdef'
              
              
                >>
              
              
                >
              
              
                'a'
              
              
                *
              
              
                4
              
              
                # 重復(fù)字符的生成
              
              
                'aaaa'
              
              
                >>
              
              
                >
              
              
                'abc'
              
              
                +
              
              
                9
              
              
                # 錯(cuò)誤的使用
              
              
Traceback 
              
                (
              
              most recent call last
              
                )
              
              
                :
              
              
  File 
              
                "
                
                  "
                
              
              
                ,
              
               line 
              
                1
              
              
                ,
              
              
                in
              
              
                <
              
              module
              
                >
              
              
TypeError
              
                :
              
               must be 
              
                str
              
              
                ,
              
              
                not
              
              
                int
              
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "hacker"
              
              
                >>
              
              
                >
              
              
                'k'
              
              
                in
              
               a

              
                True
              
              
                >>
              
              
                >
              
              
                'ha'
              
              
                in
              
               a

              
                True
              
            
          

注意,兩個(gè)字符串相加會(huì)生成一個(gè)新的字符串對(duì)象,同時(shí)字符串相加不允許字符串加數(shù)字等樣式的操作出現(xiàn)。字符串是可迭代對(duì)象,故可以使用“in”。

3.2索引和分片

Python中的偏移量是從0開(kāi)始的,字符串中每一個(gè)字符都有其對(duì)應(yīng)的索引值,其功能的使用與列表和元組類似分片一般可以有三個(gè)參數(shù),比如S[a?c],a是起始索引,b是結(jié)束索引,c是分片步長(zhǎng)。

            
              
                >>
              
              
                >
              
               s 
              
                =
              
              
                "spark"
              
              
                >>
              
              
                >
              
               s
              
                [
              
              
                1
              
              
                ]
              
              
                # 按索引取值
              
              
                'p'
              
              
                >>
              
              
                >
              
               s
              
                [
              
              
                -
              
              
                2
              
              
                ]
              
              
                # 取倒數(shù)第二個(gè)字符
              
              
                'r'
              
              
                >>
              
              
                >
              
               s
              
                [
              
              
                1
              
              
                :
              
              
                3
              
              
                ]
              
              
                ,
              
              s
              
                [
              
              
                1
              
              
                :
              
              
                ]
              
              
                ,
              
              s
              
                [
              
              
                :
              
              
                -
              
              
                1
              
              
                ]
              
              
                # 字符串的分片
              
              
                (
              
              
                'pa'
              
              
                ,
              
              
                'park'
              
              
                ,
              
              
                'spar'
              
              
                )
              
              
                >>
              
              
                >
              
               s
              
                [
              
              
                :
              
              
                :
              
              
                -
              
              
                1
              
              
                ]
              
              
                # 分片的逆序用法
              
              
                'kraps'
              
            
          

3.3修改字符串

不能原地修改一個(gè)字符串,因?yàn)樽址遣豢勺冃蛄小?

            
              
                >>
              
              
                >
              
               s 
              
                =
              
              
                "abcde"
              
              
                >>
              
              
                >
              
               s
              
                [
              
              
                0
              
              
                ]
              
              
                =
              
               b
Traceback 
              
                (
              
              most recent call last
              
                )
              
              
                :
              
              
  File 
              
                "
                
                  "
                
              
              
                ,
              
               line 
              
                1
              
              
                ,
              
              
                in
              
              
                <
              
              module
              
                >
              
              
NameError
              
                :
              
               name 
              
                'b'
              
              
                is
              
              
                not
              
               defined

            
          

需要修改時(shí)可以嘗試使用字符串的拼接(字符串變長(zhǎng))或者分片(字符串變短)來(lái)實(shí)現(xiàn),而需要改變字符串的某個(gè)位置的字符時(shí)可以考慮使用replace方法來(lái)替換。

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "abcdefg"
              
              
                >>
              
              
                >
              
               b 
              
                =
              
               a 
              
                +
              
              
                "hijklmn"
              
              
                >>
              
              
                >
              
               b

              
                'abcdefghijklmn'
              
              
                >>
              
              
                >
              
               c 
              
                =
              
               a
              
                [
              
              
                :
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               c

              
                'abc'
              
              
                >>
              
              
                >
              
               b 
              
                =
              
               a
              
                .
              
              replace
              
                (
              
              
                'a'
              
              
                ,
              
              
                'pp'
              
              
                )
              
              
                # replace方法會(huì)生成新的字符串對(duì)象
              
              
                >>
              
              
                >
              
               b

              
                'ppbcdefg'
              
              
                >>
              
              
                >
              
               a  
              
                # 原字符串不變
              
              
                'abcdefg'
              
            
          

3.4常用的字符串方法

replace(a,b) 方法,將字符串中的子字符串a(chǎn)替換為b。

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "abcdefga"
              
              
                >>
              
              
                >
              
               b 
              
                =
              
               a
              
                .
              
              replace
              
                (
              
              
                'a'
              
              
                ,
              
              
                'pp'
              
              
                )
              
              
                >>
              
              
                >
              
               b

              
                'ppbcdefgpp'
              
            
          

find(a) 方法返回子字符串a(chǎn)第一次出現(xiàn)的偏移量,如果沒(méi)有子串a(chǎn),返回-1。

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "abcdefga"
              
              
                >>
              
              
                >
              
               a
              
                .
              
              find
              
                (
              
              
                "abc"
              
              
                )
              
              
                0
              
              
                >>
              
              
                >
              
               a
              
                .
              
              find
              
                (
              
              
                "bcd"
              
              
                )
              
              
                1
              
              
                >>
              
              
                >
              
               a
              
                .
              
              find
              
                (
              
              
                "abd"
              
              
                )
              
              
                -
              
              
                1
              
              
                >>
              
              
                >
              
               a
              
                .
              
              find
              
                (
              
              
                "asfjlkfsjdafkdjfkaj"
              
              
                )
              
              
                -
              
              
                1
              
            
          

list(s) 方法,將字符串s轉(zhuǎn)換為列表。

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "abcdefga"
              
              
                >>
              
              
                >
              
              
                list
              
              
                (
              
              a
              
                )
              
              
                [
              
              
                'a'
              
              
                ,
              
              
                'b'
              
              
                ,
              
              
                'c'
              
              
                ,
              
              
                'd'
              
              
                ,
              
              
                'e'
              
              
                ,
              
              
                'f'
              
              
                ,
              
              
                'g'
              
              
                ]
              
            
          

join(s) 方法,將列表s轉(zhuǎn)換為字符串。join為字符串的拼接方法,需要直接作用于字符串上,比如m為字符串,m.join(s)的作用是將s列表中所有的子串以m為分隔拼接起來(lái)。

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "abcdefga"
              
              
                >>
              
              
                >
              
               b 
              
                =
              
              
                list
              
              
                (
              
              a
              
                )
              
              
                >>
              
              
                >
              
               b

              
                [
              
              
                'a'
              
              
                ,
              
              
                'b'
              
              
                ,
              
              
                'c'
              
              
                ,
              
              
                'd'
              
              
                ,
              
              
                'e'
              
              
                ,
              
              
                'f'
              
              
                ,
              
              
                'g'
              
              
                ]
              
              
                >>
              
              
                >
              
              
                ''
              
              
                .
              
              join
              
                (
              
              b
              
                )
              
              
                'abcdefg'
              
              
                >>
              
              
                >
              
              
                ' '
              
              
                .
              
              join
              
                (
              
              b
              
                )
              
              
                'a b c d e f g'
              
              
                >>
              
              
                >
              
              
                'AABB'
              
              
                .
              
              join
              
                (
              
              b
              
                )
              
              
                'aAABBbAABBcAABBdAABBeAABBfAABBg'
              
            
          

split(a) 方法,按照a的方式分割字符串,將分割出來(lái)的子串保存到一個(gè)列表中,a可以省略,默認(rèn)按空格分割。

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "abc bcd cde"
              
              
                >>
              
              
                >
              
               a
              
                .
              
              split
              
                (
              
              
                )
              
              
                [
              
              
                'abc'
              
              
                ,
              
              
                'bcd'
              
              
                ,
              
              
                'cde'
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              split
              
                (
              
              
                " "
              
              
                )
              
              
                [
              
              
                'abc'
              
              
                ,
              
              
                'bcd'
              
              
                ,
              
              
                'cde'
              
              
                ]
              
              
                >>
              
              
                >
              
               b 
              
                =
              
              
                "abc,def,g"
              
              
                >>
              
              
                >
              
               b
              
                .
              
              split
              
                (
              
              
                ','
              
              
                )
              
              
                [
              
              
                'abc'
              
              
                ,
              
              
                'def'
              
              
                ,
              
              
                'g'
              
              
                ]
              
            
          

其他方法的使用:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                "The knights who say Ni\n"
              
              
                >>
              
              
                >
              
               a
              
                .
              
              rstrip
              
                (
              
              
                )
              
              
                # 去除字符串末尾的換行符
              
              
                'The knights who say Ni'
              
              
                >>
              
              
                >
              
               a
              
                .
              
              upper
              
                (
              
              
                )
              
              
                # 字符串轉(zhuǎn)換為大寫(xiě)字母
              
              
                'THE KNIGHTS WHO SAY NI\n'
              
              
                >>
              
              
                >
              
               a
              
                .
              
              endswith
              
                (
              
              
                '\n'
              
              
                )
              
              
                # 檢測(cè)結(jié)尾字符串
              
              
                True
              
              
                >>
              
              
                >
              
               a
              
                .
              
              startswith
              
                (
              
              
                'The'
              
              
                )
              
              
                # 檢測(cè)起始字符串
              
              
                True
              
            
          

更多的其他字符串方法,可以參考Python的開(kāi)發(fā)手冊(cè)。

3.5字符串的格式化表達(dá)

%s % n 樣式。這種樣式常見(jiàn)于輸出時(shí)傳入變量的情況,與C語(yǔ)言類似。

            
              
                >>
              
              
                >
              
              
                "That is %d %s girl"
              
              
                %
              
              
                (
              
              
                1
              
              
                ,
              
              
                "nice"
              
              
                )
              
              
                'That is 1 nice girl'
              
            
          

%()s % {} 樣式,基于字典的字符串格式化。

            
              
                >>
              
              
                >
              
              
                "That is %(n)d %(x)s girl"
              
              
                %
              
              
                {
              
              
                'n'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'x'
              
              
                :
              
              
                "nice"
              
              
                }
              
              
                'That is 1 nice girl'
              
              
                >>
              
              
                >
              
            
          

format 方法。

            
              
                >>
              
              
                >
              
              
                "That is {} {} girl"
              
              
                .
              
              
                format
              
              
                (
              
              
                1
              
              
                ,
              
              
                "nice"
              
              
                )
              
              
                'That is 1 nice girl'
              
              
                >>
              
              
                >
              
              
                "That is {0} {1} girl"
              
              
                .
              
              
                format
              
              
                (
              
              
                1
              
              
                ,
              
              
                "nice"
              
              
                )
              
              
                'That is 1 nice girl'
              
              
                >>
              
              
                >
              
              
                "That is {1} {0} girl"
              
              
                .
              
              
                format
              
              
                (
              
              
                1
              
              
                ,
              
              
                "nice"
              
              
                )
              
              
                # 可以標(biāo)注數(shù)字打亂順序,0所指代的是format中第一個(gè)未命名的參數(shù)
              
              
                'That is nice 1 girl'
              
              
                >>
              
              
                >
              
              
                "That is {0} {n} girl"
              
              
                .
              
              
                format
              
              
                (
              
              
                1
              
              
                ,
              
              n 
              
                =
              
              
                "nice"
              
              
                )
              
              
                # 也可以給format的參數(shù)取名,這樣可以不按照順序來(lái)
              
              
                'That is 1 nice girl'
              
            
          

推薦使用format來(lái)格式化字符串。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論