乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python 字符串(string)知識點介紹和應用

       浸心閣 2015-04-03

      什么是字符串

      python 字符串

      字符串

      字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···an”(n>=0)。它是編程語言中表示文本的數(shù)據(jù)類型。 通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字符串相等的充要條件是:長度相等,并且各個對應位置上的字符都相等。

      python 字符串相關特性

      1 屬于python基本數(shù)據(jù)類型和結(jié)構(gòu)的一種。2 本身是不可變的數(shù)據(jù)類型。 3 有很多內(nèi)置的方法

      字符串連接

      方法1: 用字符串的join方法

      a = ['a','b','c','d']
      content = ''
      content = ''.join(a)
      print content

      方法2: 用字符串的替換占位符替換

      a = ['a','b','c','d']
      content = ''
      content = '%s%s%s%s' % tuple(a)
      print content

      想要了解更多,請看python字符串連接

      字符串截取

      我們可以通過索引來提取想要獲取的字符,可以把python的字符串也做為字符串的列表就更好理解

      python的字串列表有2種取值順序
      1是從左到右索引默認0開始的,最大范圍是字符串長度少1
      s = 'ilovepython'
      s[0]的結(jié)果是i

      2是從右到左索引默認-1開始的,最大范圍是字符串開頭
      s = 'ilovepython'
      s[-1]的結(jié)果是n

      上面這個是取得一個字符,如果你的實際要取得一段子串的話,可以用到變量[頭下標:尾下標],就可以截取相應的字符串,其中下標是從0開始算起,可以是正數(shù)或負數(shù),下標可以為空表示取到頭或尾。

      比如
      s = 'ilovepython'
      s[1:5]的結(jié)果是love
      當使用以冒號分隔的字符串,python返回一個新的對象,結(jié)果包含了以這對偏移標識的連續(xù)的內(nèi)容,左邊的開始是包含了下邊界,比如
      上面的結(jié)果包含了s[1]的值l,而取到的最大范圍不包括上邊界,就是s[5]的值p

      想要了解更多,請看python字符串截取

      字符串替換

      字符串替換可以用內(nèi)置的方法和正則表達式完成。
      1用字符串本身的replace方法:

      a = 'hello word'
      b = a.replace('word','python')
      print b

      2用正則表達式來完成替換:

      import re
      a = 'hello word'
      strinfo = re.compile('word')
      b = strinfo.sub('python',a)
      print b
      想要了解更多,請看python 字符串替換

      字符串比較

      cmp方法比較兩個對象,并根據(jù)結(jié)果返回一個整數(shù)。cmp(x,y)如果X< Y,返回值是負數(shù) 如果X>Y 返回的值為正數(shù)。

      sStr1 = 'strch'
      sStr2 = 'strchr'
      print cmp(sStr1,sStr2)##-1

      字符串相加

      我們通過操作符號+來進行字符串的相加,不過建議還是用其他的方式來進行字符串的拼接,這樣效率高點。

      原因:在循環(huán)連接字符串的時候,他每次連接一次,就要重新開辟空間,然后把字符串連接起來,再放入新的空間,再一次循環(huán),又要開辟新的空間,把字符串連接起來放入新的空間,如此反復,內(nèi)存操作比較頻繁,每次都要計算內(nèi)存空間,然后開辟內(nèi)存空間,再釋放內(nèi)存空間,效率非常低。

      sStr1 = 'strch'
      sStr2 = 'strchr'
      newstr = sStr1 + sStr2
      print newstr

      字符串查找

      python 字符串查找有4個方法,1 find,2 index方法,3 rfind方法,4 rindex方法。

      1 find()方法:

      info = 'abca'
      print info.find('a')##從下標0開始,查找在字符串里第一個出現(xiàn)的子串,返回結(jié)果:0

      info = 'abca'
      print info.find('a',1)##從下標1開始,查找在字符串里第一個出現(xiàn)的子串:返回結(jié)果3

      info = 'abca'
      print info.find('333')##返回-1,查找不到返回-1

      2 index()方法:

      python 的index方法是在字符串里查找子串第一次出現(xiàn)的位置,類似字符串的find方法,不過比find方法更好的是,如果查找不到子串,會拋出異常,而不是返回-1

      info = 'abca'
      print info.index('a')
      print info.index('33')

      字符串分割

      字符串分割,可以用split,rsplit方法,通過相應的規(guī)則來切割成生成列表對象

      info = 'name:haha,age:20$name:python,age:30$name:fef,age:55'
      content = info.split('$')
      print content

      字符串翻轉(zhuǎn)

      通過步進反轉(zhuǎn)[::-1]

      a = 'abcd'
      b = a[::-1]##[::-1]通過步進反轉(zhuǎn)
      print b

      字符串編碼

      通過字符串的decode和encode方法

      1 encode([encoding,[errors]])
      #其中encoding可以有多種值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。errors默認值為"strict",意思是UnicodeError??赡艿闹颠€有'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 和所有的通過codecs.register_error注冊的值。

      S.decode([encoding,[errors]]) 下面是字符串編碼應用:

      a = '你好'
      b = 'python'
      print a.decode('utf-8').encode('gbk')##decode方法把字符串轉(zhuǎn)換為unicode對象,然后通過encode方法轉(zhuǎn)換為指定的編碼字符串對象
      print b.decode('utf-8')##decode方法把字符串轉(zhuǎn)換為unicode對象

      字符串追加和拼接

      通過字符串的占位符來進行字符串的拼接

      #1 元組拼接
      m = 'python'
      astr = 'i love %s' % m
      print astr

      #2 字符串的format方法
      m = 'python'
      astr = "i love {python}".format(python=m)
      print astr

      #3 字典格式化字符串
      m = 'python'
      astr = "i love %(python)s " % {'python':m}
      print astr

      字符串復制

      通過變量來進行賦值

      fstr = 'strcpy'
      sstr = fstr
      fstr = 'strcpy2'
      print sstr

      字符串長度

      通過內(nèi)置方法len()來計算字符串的長度,注意這個計算的是字符的長度。

      aa = 'afebb'
      bb = '你'
      print len(aa)
      print len(bb)

      字符串大小寫

      通過下面的upper(),lower()等方法來轉(zhuǎn)換大小寫

      S.upper()#S中的字母大寫
      S.lower() #S中的字母小寫
      S.capitalize() #首字母大寫
      S.istitle() #S是否是首字母大寫的
      S.isupper() #S中的字母是否便是大寫
      S.islower() #S中的字母是否全是小寫

      字符串去空格

      通過strip(),lstrip(),rstrip()方法去除字符串的空格

      S.strip()去掉字符串的左右空格
      S.lstrip()去掉字符串的左邊空格
      S.rstrip()去掉字符串的右邊空格

      字符串其他方法

      字符串相關的其他方法:count(),join()方法等。

      S.center(width, [fillchar]) #中間對齊
      S.count(substr, [start, [end]]) #計算substr在S中出現(xiàn)的次數(shù)
      S.expandtabs([tabsize]) #把S中的tab字符替換沒空格,每個tab替換為tabsize個空格,默認是8個
      S.isalnum() #是否全是字母和數(shù)字,并至少有一個字符
      S.isalpha() #是否全是字母,并至少有一個字符
      S.isspace() #是否全是空白字符,并至少有一個字符
      S.join()#S中的join,把列表生成一個字符串對象
      S.ljust(width,[fillchar]) #輸出width個字符,S左對齊,不足部分用fillchar填充,默認的為空格。
      S.rjust(width,[fillchar]) #右對齊
      S.splitlines([keepends]) #把S按照行分割符分為一個list,keepends是一個bool值,如果為真每行后而會保留行分割符。
      S.swapcase() #大小寫互換

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多