python 數據類型一 (重點是字符串的各類操做)

1、python基本數據類型python

  1,int,整數,主要用來進行數學運算git

  2,bool,布爾類型,判斷真假,True,Falseapi

  3,str,字符串,能夠保存少許數據並進行相應的操做(將來使用頻率最高的一種類型)ui

  4,list,列表,用來存儲大量數據,用[]表示(裏面能夠存放各類數據類型)3d

  5,tuple,元組,不能夠發生改變,用()表示code

  6,dict,字典,保存鍵值對,{key : value}也能夠保存大量數據對象

  7,set,集合,保存大量數據,不能夠重複,其實就是不保存value的dictblog

      

2、整數(int)索引

       在python3中全部的整數都是int類型,但在python2中若是數據量比較大,會使用long類型,在python3中不存在long類型。ip

       整數能夠進行的操做:bit_length() 計算整數在內存中佔用的二進制碼的長度(不多用) 

       十進制5轉化成二進制是101,長度是3,程序以下:

 

 

3、bool類型,取值只有True和False,bool值沒有操做

       轉換問題:

              str => int      int(str)

              int => str      str(int)

 

              int => bool    bool(int)   0是False,非0是True

              bool => int    int(bool)   True是1,False是0

 

              str => bool    bool(str)   空字符串是False,非空字符串是True

              bool => str    str(bool)   把bool值轉換成相應的「值」,即字符串True或者False

       結論:全部的空都是False,全部的非空都是True;例如:0,None,空字符串,空列表,空字典,空集合,空元組。

                要想把某數據轉換成xxx數據類型,則xxx(數據)便可;

       補充:比較下面兩個死循環

              while 1:

                     print(「hello world!」)

              和

              while True:

                     print(「hello world!」)

咱們能夠發現二者的區別是循環條件分別是1和True,咱們一般用第一種。由於前者代碼較後者更少,且計算機最底層認的是01,True須要轉化成01,而1到了計算機底層也是1,因此前者比後者運行快那麼一點點。

 

4、字符串(str)

       把字符連成串,在python中用’,」,’’’,」」」引發來的內容被稱爲字符串。

       切記:字符串是不可變的對象,因此任何操做對原字符串是不會有任何影響的,每次操做都返回新字符串。

4.1 索引和切片

       索引:索引就是下標,下標從0開始,使用[下標]能夠獲取到每個字符,以下列代碼示例:

       

 

 

切片:咱們可使用下標來截取部分字符串的內容。

       語法:str[start : end]

    規則:顧頭不顧尾,從start開始,截取到end位置,但不包括end,以下列代碼示例:

             

 

       經過上邊知道切片默認是從左向右截取,咱們能夠給出第三個參數來控制方向,第三個參數叫步長,步長爲負數時,則從右往左取值。

  語法:str[start : end : step]

       start : 起始位置

       end : 結束位置

       step : 步長(步長若是是整數,則從左往右取,若是是負數,則從右往左取,默認是1)

以下列代碼示例:

       

 


4.2 字符串的相關操做方法
      

       s1.capitalize()  # 首字母大寫,其餘字母都變成小寫

       s1.lower()  # 所有轉換成小寫

       s1.upper()  # 所有轉換成大寫,記住!!!

       s1.swapcase()  # 大小寫互相轉換

       s1.casefold()  # 轉換成小寫,和lower相比,casefold()對全部字母都有效,好比東歐的一些字母

       s1.title()  # 每一個被非字母字符隔開的單詞首字母大寫

       s1.center()  # 居中,

    示例:s5 = 「周杰倫」

               ret = s5.center(10 , 「*」)

       s1.expandtabs()  # 改變\t的長度,更改成8

       s1.strip()  # 去掉字符串左右兩端空格(還有換行符\n,縮進\t),也能夠加參數去掉指定的元素,記住!!!

       s1.lstrip()  # 去掉字符串左邊空格

       s1.rstrip()  # 去掉字符串右邊空格

       s1.replace(「原字符」,「新字符」)  # 將原字符替換成新字符,也能夠再加一個參數指定替換幾個,記住!!!

       s1.split()  # 字符串按照指定字符切割(注意:若是切割符在左右兩端,則切完必定出現空字符串),還能夠跟第二個參數,表示根據第幾個指定字符分割,記住!!!

  注意:split默認是按照空白切割!具體示例以下:

    a = "al    ex  ha  nishi shui"
    lst = a.split()
    print(lst)
    # 結果爲:['al', 'ex', 'ha', 'nishi', 'shui']


4.3 格式化輸出
       

 

4.4 查找

       s13.startswith()  # 是否以指定字符開頭,記住!!!

       s13.endswith()  # 是否以指定字符結尾,記住!!!

       s13.count()  # 查找指定字符在字符串中出現的次數

       s13.find()  # 查找指定字符的索引,若沒有所查找字符,則返回-1

       s13.index()  # 求指定字符索引,注意:若找不到,程序會報錯

 

4.5 條件判斷

       s14.isalnum()  # 是否由字母和數字組成

       s14.isalpha()  # 是否由字母組成(包括漢字)

       s14.isdigit()  # 是否由數字組成,不包括小數點

       s14.isdecimal()  # 這個比較牛,中文數字也能識別

   s14.islower()  # 是不是小寫字母

   s14.isupper()  # 是不是大寫字母 

4.6 計算字符串長度,用法以下示例:

       

 

4.7 迭代

       咱們可使用for循環來遍歷(獲取)字符串中的每個字符。

       語法:

    for 變量 in 可迭代對象 :

                     pass(也存在break和continue)  

    else:

                     當循環結束的時候會執行

       可迭代對象:能夠一個一個往外取值的對象。

相關文章
相關標籤/搜索