2.標準數據類型--字符串

1、字符串:python

           在python中,字符由單引號,雙引號,引發來的形式,稱之爲字符串。python不支持單字符類型,單個字符在python中也被認爲是字符串。git

           python字符串是不可變的。編程

         在全部編程語言中,字符串幾乎無所不在,編程的本質就是對數據的加工處理,對字符串處理的能力是編程最重要的能力之一。api

2、字符串形式:數組

'abc345'    "897*!"   r'a\bcde' u'abc123'

3、字符串使用場景:bash

                  給班裏同窗做一份通信錄  咱們就能夠把同窗名看成變量,手機號,住址當成值:網絡

4、字符串操做格式:編程語言

tmpstr = ''
tmpstr = ""
str(object='')
tmpstr = '18801118888-Shanghai'
tmpstr = 'To Live or diE, tHat Is a question'

 

5、格式化   函數

capitalize() :使首字母大寫,其它字母小寫
title() :每單詞的首字母大寫,其它字母小寫
lower() :將字符串所有變成小寫
upper() :將字符串所有變成大寫
swapcase() :大寫字母變小寫,小寫字線變大寫
center() :設置輸出長度,並將字符串居中顯示,center(100)
ljust() :設置輸出長度,並將字符串居左,ljust(100)
rjust() :設置輸出長度,並將字符串居右,rjust(100)
zfill() :設置輸出長度,若是字符串小於長度值,則左側用'0'補充。
expandtabs() :將tab鍵轉換爲空格,默認一個tab轉換成8個空格
translate() :將字符串按按照,必定的映射關係進行替換
tmptable = str.maketrans('abcde','12345') 生成映射關係表
tmpstr.translate(tmptable) 根據映射關係表生成字符串

  1.format :格式化輸出字體

'Hi {} ,age {}'.format('Tom',18)
'Hi {1} ,age {0} {0}'.format('Tom',18)
'Hi {name},age {age}'.format(name='Tom',age=20)

  2.:[填充字符][對齊方式 <^>][寬度]

'{0:*>10}'.format(88)
'{0:*<10}'.format(88)
'{0:*^10}'.format(88)

  3.精度與進制

'{0:.3f}'.format(1/6)
'{0:b}'.format(11) 二進制
'{0:o}'.format(11) 八進制
'{0:x}'.format(11) 十六進制
'{0:,}'.format(123456789) 千分位格式化

  4.字典列表參數

tmpdict = {'name':'Tom','age':20}
'my name is {name},age is {age}'.format(**tmpdict)
tmplist = ['Tom',22]
'my name is {0[0]},age is {0[1]}'.format(tmplist)

 6、判斷方法:

islower() :判斷字母是否是全爲小寫
isupper() :判斷字母是否是全爲大寫
isalnum() :判斷字符串僅有字母數字組成
isalpha() :判斷字符串僅有字母組成
isdigit() :判斷字符串僅有天然數組成(正數和0)
isspace() :判斷字符串僅有空字符組成,' \t\f\v\n\r '.isspace()
istitle() :判斷字符串是否是標題形式(每一個單詞首字母大寫,其它字母小寫)
startswith() :判斷字符串開始部分
endswith() :判斷字符串結束部分  

 7、切割查找:

count() :查詢某一字符出如今次數
strip() :刪除字符串兩端的空字符
              同時也能夠刪除指定的字符,字符沒有順序只要在兩端便可。
              'li bail'.strip('li') ==> ' ba'
lstrip() :刪除字符串左端的空字符
rstrip() :刪除字符串右端的空字符
split() :從左側開始按某些分隔符分隔字符,默認爲空字符,返回列表
rsplit() :從右側開始按某些分隔符分隔字符,默認爲空字符,返回列表
splitlines():用換行符分隔字符串
partition() :從左側開始按某些分隔符分隔字符,返回含有分割符的列表,切割一次
rpartition():從右側開始按某些分隔符分隔字符,返回含有分割符的列表,切割一次
join() :用某一字符將某列表鏈接成字符串。'+'.join(tmpstr.splitlines())
find() :從左側查找某一字符是否是在字符串中,在則返回索引值 ,不在則返回-1
rfind() :從右側查找某一字符是否是在字符串中,在則返回索引值 ,不在則返回-1
index() :從左側查找某一字符的索引,存在則返回索引值 ,不在拋出異常
rindex() :從右側查找某一字符的索引,存在則返回索引值 ,不在拋出異常
replace() :將匹配的字符換成其它字符

 8、序列操做:

        在python中咱們將由多個獨立的對象或元素構成的新對象,稱之爲序列。python爲序中每個獨立的對象或元素從0開始編上序號,這種序號咱們稱之爲索引。

       Python包含 6 中內建的序列,包括列表、元組、字符串、Unicode字符串、buffer對和range對象。序列操做是通用的,本節就以字符串爲例講解序列操做。

       1.索引操做:S = 'LIBai,dufu,baijuyi'

 

按照元素位置索引值取元素,編號依次爲 0 1 2 3 ……。也能夠從右向左依次爲 -1 -2   -3 .....
tmpstr[0]
tmpstr[3]
tmpstr[-1]

 

  2.切片操做:

獲取必定索引範圍的元素,也能夠設置步長,即每隔幾個元素取一次元素
tmpstr[2:5] tmpstr[2:5:2]
tmpstr[:] tmpstr[::3]
tmpstr[-3:-1] tmpstr[-3:-1:2] tmpstr[-1:-3:-1] tmpstr[::-1]

 3.加法 乘法操做:

加法是將多個序列合併成一個;乘法是指對序列重複輸出的次數
      tmpstr + 'ABC'
      tmpstr * 3
成員資格操做:
    'XY' in tmpstr
    'XY' not in tmpstr
序列內建函數:
  求序列長度len(); 求序列中最大值 max(); 求序列中最小值 min()
      len(tmpstr)
      max(tmpstr)
      min(tmpstr)

9、編碼與解碼:

        內存裏的字符 → 內存裏的 unicode → 字體文件中的 gid 序列 → 字體文件中的矢量圖序列 → 點陣化送顯示屏

                 字節、字符、字符集、字符碼、字符編碼

      1.字節

             字節(Byte)是計算機中數據存儲的基本單元,一字節等於一個8位的比特,計算機中的全部數據,不管是保存在磁盤文件上的仍是網絡上傳輸的數據(文字、圖片、視頻、音頻文件)都是由字節組成的。

      2.字符

           你正在閱讀的這篇文章就是由不少個字符(Character)構成的,字符一個信息單位,它是各類文字和符號的統稱,好比一個英文字母是一個字符,一個漢字是一個字符,一個標點符號也是一個字符。

      3.字符集

            字符集(Character Set)就是某個範圍內字符的集合,不一樣的字符集規定了字符的個數,好比 ASCII 字符集總共有128個字符,包含了英文字母、阿拉伯數字、標點符號和控制符。而 GB2312 字符集定義了7445個字符,包含了絕大部分漢字字符。

     4.字符碼

          字符碼(Code Point)指的是字符集中每一個字符的數字編號,例如 ASCII 字符集用 0-127連續的128個數字分別表示128個字符,例如 "A" 的字符碼編號就是65。

     5.字符編碼

         字符編碼(Character Encoding)是將字符集中的字符碼映射爲字節流的一種具體實現方案,常見的字符編碼有 ASCII 編碼、UTF-8 編碼、GBK 編碼等。某種意義上來講,字符集與字符編碼有種對應關係,例如 ASCII 字符集對應 有 ASCII 編碼。

         ASCII 字符編碼規定使用單字節中低位的7個比特去編碼全部的字符。例如"A" 的編號是65,用單字節表示就是0×41,所以寫入存儲設備的時候就是b'01000001'。

     6.編碼、解碼

          編碼的過程是將字符轉換成字節流,解碼的過程是將字節流解析爲字符。

相關文章
相關標籤/搜索