欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python學習筆記005——字符串

系統 1750 0

1.字符串概述

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

2.一般的字符串

2.1字符串的定義

Python中字符串的定義可以用單引號、雙引號和三引號,,其中單雙引字符串是一樣的,可以通用,但三引號不同,三引號的字符串類似標注信息,可以用來說明代碼的用途,也可以在程序中運行。字符串定義的舉例:

            
              
                >>
              
              
                >
              
              
                'abcd'
              
              
                'abcd'
              
              
                >>
              
              
                >
              
              
                "abcd"
              
              
                'abcd'
              
              
                >>
              
              
                >
              
              
                """abcd"""
              
              
                'abcd'
              
              
                >>
              
              
                >
              
              
                'ab'
              
              
                ,
              
              
                "cd"
              
              
                (
              
              
                'ab'
              
              
                ,
              
              
                'cd'
              
              
                )
              
              
                >>
              
              
                >
              
              
                'ab"cd'
              
              
                ,
              
              
                "ab'cd"
              
              
                # 逗號隔開的字符串會形成一個元組
              
              
                (
              
              
                'ab"cd'
              
              
                ,
              
              
                "ab'cd"
              
              
                )
              
              
                >>
              
              
                >
              
               title
              
                =
              
              
                'a'
              
              
                "b"
              
              
                'c'
              
              
                #字符串會自動合并
              
              
                >>
              
              
                >
              
               title

              
                'abc'
              
            
          

2.2轉義字符串

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

轉義 說明
\newline 忽視(連續)
\ \ 反斜杠(\))
\ ’ 單引號(‘)
\ “ 雙引號(“)
\ n 換行

2.3Raw字符串

Raw字符串會抑制轉義,可以用在不需要轉義的場景,比如通過字符串定位到文件并打開。舉例如下:

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

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

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

            
          

2.4三重引號的字符串

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

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

            
          

3字符串的應用

3.1基本操作

            
              
                >>
              
              
                >
              
              
                len
              
              
                (
              
              
                'abc'
              
              
                )
              
              
                # 求字符串的長度
              
              
                3
              
              
                >>
              
              
                >
              
              
                'abc'
              
              
                +
              
              
                'def'
              
              
                # 字符串相加
              
              
                'abcdef'
              
              
                >>
              
              
                >
              
              
                'a'
              
              
                *
              
              
                4
              
              
                # 重復字符的生成
              
              
                'aaaa'
              
              
                >>
              
              
                >
              
              
                'abc'
              
              
                +
              
              
                9
              
              
                # 錯誤的使用
              
              
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
              
            
          

注意,兩個字符串相加會生成一個新的字符串對象,同時字符串相加不允許字符串加數字等樣式的操作出現。字符串是可迭代對象,故可以使用“in”。

3.2索引和分片

Python中的偏移量是從0開始的,字符串中每一個字符都有其對應的索引值,其功能的使用與列表和元組類似分片一般可以有三個參數,比如S[a?c],a是起始索引,b是結束索引,c是分片步長。

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

3.3修改字符串

不能原地修改一個字符串,因為字符串是不可變序列。

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

            
          

需要修改時可以嘗試使用字符串的拼接(字符串變長)或者分片(字符串變短)來實現,而需要改變字符串的某個位置的字符時可以考慮使用replace方法來替換。

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

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

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

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

3.4常用的字符串方法

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

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

              
                'ppbcdefgpp'
              
            
          

find(a) 方法返回子字符串a第一次出現的偏移量,如果沒有子串a,返回-1。

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

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

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

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

            
              
                >>
              
              
                >
              
               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的方式分割字符串,將分割出來的子串保存到一個列表中,a可以省略,默認按空格分割。

            
              
                >>
              
              
                >
              
               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
              
                (
              
              
                )
              
              
                # 字符串轉換為大寫字母
              
              
                'THE KNIGHTS WHO SAY NI\n'
              
              
                >>
              
              
                >
              
               a
              
                .
              
              endswith
              
                (
              
              
                '\n'
              
              
                )
              
              
                # 檢測結尾字符串
              
              
                True
              
              
                >>
              
              
                >
              
               a
              
                .
              
              startswith
              
                (
              
              
                'The'
              
              
                )
              
              
                # 檢測起始字符串
              
              
                True
              
            
          

更多的其他字符串方法,可以參考Python的開發手冊。

3.5字符串的格式化表達

%s % n 樣式。這種樣式常見于輸出時傳入變量的情況,與C語言類似。

            
              
                >>
              
              
                >
              
              
                "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"
              
              
                )
              
              
                # 可以標注數字打亂順序,0所指代的是format中第一個未命名的參數
              
              
                'That is nice 1 girl'
              
              
                >>
              
              
                >
              
              
                "That is {0} {n} girl"
              
              
                .
              
              
                format
              
              
                (
              
              
                1
              
              
                ,
              
              n 
              
                =
              
              
                "nice"
              
              
                )
              
              
                # 也可以給format的參數取名,這樣可以不按照順序來
              
              
                'That is 1 nice girl'
              
            
          

推薦使用format來格式化字符串。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品伊人 | 亚洲国产欧美在线人成aaa | 亚洲第五色综合网 | 美国一级特色大黄 | 亚洲国产网站 | 国产视频高清在线观看 | av国产精品| 操欧美女| 九九99国产精品视频 | 天天干天天色综合 | 午夜小网站 | 高清性| 精品日韩欧美一区二区三区在线播放 | 午夜播放器在线观看 | 日韩精品一区二区在线 | 国产区久久 | 啪啪小视频网站 | 欧美午夜在线 | 中国美女一级黄色片 | 亚洲精品婷婷无码成人A片在线 | 在线精品自拍亚洲第一区 | 99久久久国产精品 | 亚洲精品国偷拍自产在线观看 | 久草视| 亚洲综合激情七月婷婷 | 欧美zozozo人禽交免费观看 | 日日爽夜夜| 亚洲奇米 | 亚洲欧美在线观看 | 日韩精品在线视频 | 18性夜影院午夜寂寞影院免费 | 激情五月六月婷婷 | 国产精品视频网 | 国产精品久久久爽爽爽麻豆色哟哟 | 久久精品国产一区二区电影 | 九九精品九九 | 国产精品久久久久久久免费大片 | 日本三级一区 | 曰韩精品 | 色综合久久综合欧美综合图片 | 三级成人在线 |