1. 程式人生 > >Python全棧__字符串初識及操作

Python全棧__字符串初識及操作

關系 判斷 關系型 code 字符串結束 username .... 出現 info

基礎數據類型初識

1、int型

  int:用於計算。

  十進制轉化成二進制的有效位數。

    1    0000 0001

    2    0000 0010

    3    0000 0011

    ...    ...

    100    ?

  計算十進制轉化成二進制的有效位數。.bit_length()

i = 100
print(i.bit_length())

技術分享圖片

2、字符串str

  str: ‘alex‘、‘1235443543‘、‘[1,2,3]‘。可存放少量數據。

  索引、切片、步長

  索引編號:

    python12期

    012345678

    p 的正向索引編號為0,y 的正向索引編號為1,t 的正向索引編號為2,h 的正向索引編號為3,o 的正向索引編號為4,n 的正向索引編號為5,1 的正向索引編號為6,2 的正向索引編號為7,期 的正向索引編號為8.

  索引:

    [索引位編號]

s = ‘python12期‘
s1 = s[0]
print(s1,type(s1))

技術分享圖片

s = ‘python12期‘
s2 = s[4]
print(s2)

技術分享圖片

s = ‘python12期‘
s3 = s[2]
print(s3)

技術分享圖片

  python12期

  -9-8-7-6-5-4-3-2-1

    期 的反向索引編號為-1,2 的反向索引編號為-2,1 的反向索引編號為-3,n 的反向索引編號為-4,o 的反向索引編號為-5,h 的反向索引編號為-6,t 的反向索引編號為-7,y 的反向索引編號為-8,p 的反向索引編號為-9。

s = ‘python12期‘
s4 = s[-1]
print(s4)

技術分享圖片

  切片:

    [索引起始位編號:索引結束位編號]

    顧頭不顧尾。

s = ‘python12期‘
s5 = s[0:6]
print(s5)

技術分享圖片

  中括號中的切片起始位索引為為0時,可省略。

s = ‘python12期‘
s6 = s[:6]
print(s6)

技術分享圖片

s = ‘python12期‘
s7 = s[1:4]
print(s7)

技術分享圖片

  當中括號中索引位結束編號省略時,默認切片達到字符串結束。

s = ‘python12期‘
s8 = s[1:]
print(s8)

技術分享圖片

  當中括號中索引起始位編號與索引結束位編號省略時,默認對整個字符串切片,但是切片處的結果與原字符串本質上不是同一個內容(不同的存儲位置)。

s = ‘python12期‘
s9 = s[:]
print(s9)

技術分享圖片

  步長:

    在中括號中,索引的結束位後邊加上 :數字 表示截取的步長,即每幾位截取一位。同時只能等距截取。

s = ‘python12期‘
s10 = s[:5:2]
print(s10)

技術分享圖片

s = ‘python12期‘
s11 = s[4::2]
print(s11)

技術分享圖片

  當步長為負數時,表示倒序截取。

s = ‘python12期‘
s12 = s[-1:-5:-1]
print(s12)

技術分享圖片

s = ‘python12期‘
s12 = s[-3:-1]
print(s12)

技術分享圖片

  字符串的常用操作方法:

  ** capitalize  首字母大寫,其余字母小寫。

s = ‘laoNANhai‘
s1 = s.capitalize()
print(s1)

技術分享圖片

  * center  居中

    center(a,b)  -a為設定字符串的總位數,當設定的總位數小於字符串的位數時,不變。  -b為在空位數上填充的字符串。

s = ‘laoNANhai‘
s2 = s.center(27,"*")
print(s2)

技術分享圖片

  *** upper:全大寫

s = ‘laoNANhai‘
s3 = s.upper()
print(s3)

技術分享圖片

  *** lower:全小寫

s = ‘laoNANhai‘
s4 = s.lower()
print(s4)

技術分享圖片

code = ‘QAdr‘.upper()
your_code = input("請輸入驗證碼,不分大小寫:").upper()
if your_code == code:
    print("驗證成功")

技術分享圖片

  *** startswith  判斷以什麽內容開頭

  返回bool值

s = ‘laoNANhai‘
s5 = s.startswith(‘l‘)
print(s5)

技術分享圖片

s = ‘laoNANhai‘
s6 = s.startswith(‘lao‘)
print(s6)

技術分享圖片

  返回bool值,可以切片,切片用逗號隔開。

s = ‘laoNANhai‘
s7 = s.startswith(‘N‘,3,6)
print(s7)

技術分享圖片

  * swapcase  大小寫翻轉

s = ‘laoNANhai‘
s8 = s.swapcase()
print(s8)

技術分享圖片

  * title  非字母隔開的每個單詞首字母大寫。

s = ‘gdsj wusir6taibai*ritian‘
s9 = s.title()
print(s9)

技術分享圖片

  *** 通過元素找索引

    index:通過元素找索引,可切片,找不到報錯。

s = ‘gdsj wusir6taibai*ritian‘
s10 = s.index(‘a‘)
print(s10)

技術分享圖片

s = ‘gdsj wusir6taibai*ritian‘
s12 = s.index(‘Q‘)
print(s12)

技術分享圖片

    find:通過元素找索引,可切片,找不到返回-1。

s = ‘gdsj wusir6taibai*ritian‘
s13 = s.find(‘a‘)
print(s13)

技術分享圖片

s = ‘gdsj wusir6taibai*ritian‘
s14 = s.find(‘A‘,2)
print(s14)

技術分享圖片

s = ‘gdsj wusir6taibai*ritian‘
s15 = s.find(‘Q‘)
print(s15)

技術分享圖片

  \t :縮進符,縮進一個Tab鍵的距離。

s = ‘\talex‘
print(s)

技術分享圖片

  \n :換行符。

ss = ‘alex\n‘
print(ss)

技術分享圖片

s = ‘\talex\n‘
print(s)

技術分享圖片

  *** strip()  去除前後端的空格、換行符、制表符。

s = ‘\talex\n‘
s16 = s.strip()
print(s16)

技術分享圖片

username = input("請輸入賬戶名:").strip()
if username == "婉蓉":
    print("登陸成功")

技術分享圖片

    strip(‘a‘)  去除兩端的指定字符,某一端當遇到第一個非a字符時,該端停止操作,另一端也遇到非a時完成操作。

s = ‘  ablabsexsba‘
s17 = s.strip(‘a‘)
print(s17)

技術分享圖片

    strip(‘abc‘)  當括號內的字符不只一個時,將括號內的內容拆分成單個的最小單元,然後從兩端不分順序的去除,當遇到非括號內的組成單元時,操作結束。

s = ‘  ablabsexsba‘
s18 = s.strip(‘abc‘)
print(s18)

技術分享圖片

    lstrip(‘a‘)  去除左端的a字符。

s = ‘ablabsexsba‘
s19 = s.lstrip(‘a‘)
print(s19)

技術分享圖片

    rstrip(‘a‘)  去除右端的a字符。

s = ‘ablabsexsba‘
s20 = s.rstrip(‘a‘)
print(s20)

技術分享圖片

   *** split()  str ---> list

    默認以空格隔開。

s = ‘wusir alex taibai‘
s21 = s.split()
print(s21)

技術分享圖片

    

s = ‘wusir,alex,taibai‘
s22 = s.split(‘,‘)
print(s22)

技術分享圖片

   split(‘a‘,b)  b為數字,也可以設定以a隔開,然後設定隔開前b個a,後邊如果再有a,不考慮。

s = ‘QwusirQalexQtaibai‘
s23 = s.split(‘Q‘, 2)
print(s23)

技術分享圖片

  *** join:  加入

s = ‘alex‘
s24 = ‘+‘.join(s)
print(s24)

技術分享圖片

    在某些情況下,list ---> str 。

s = [‘wusir‘, ‘alex‘, ‘taibai‘]
s25 = ‘ ‘.join(s)
print(s25)

技術分享圖片

  replace(‘a‘,‘b‘)  a為被替換的內容,b為替換後的內容。

s = ‘小粉嫩小粉嫩ghlasdfg小粉嫩‘
s26 = s.replace(‘小粉嫩‘, ‘大鐵錘‘)
print(s26)

技術分享圖片

  replace(‘a‘,‘b‘,c)  a為被替換的內容,b為替換後的內容,c為數字,意為從左至右將前c個a替換為b。

s = ‘小粉嫩小粉嫩ghlasdfg小粉嫩‘
s27 = s.replace(‘小粉嫩‘, ‘大鐵錘‘, 2)
print(s27)

技術分享圖片

  公共方法:

    len()  統計字符串的總個數。

s = ‘fdsajlskgjdsaf;jdskfsdaf‘
print(len(s))

技術分享圖片

    count()  計算某些元素出現的個數,可切片。

s = ‘fdsajlskgjdsaf;jdskfsdaf‘
s28 = s.count(‘f‘)
print(s28)

技術分享圖片

  format  格式化輸出

    三種方式:

      1、

        {} 占位符

msg = ‘我是{},今年{},喜歡{}‘.format(‘太白‘, ‘20‘,‘girl‘)
print(msg)

技術分享圖片

      2、

msg = ‘我是{0},今年{1},喜歡{2},我依然叫{0}‘.format(‘太白‘, ‘20‘,‘girl‘)
print(msg)

技術分享圖片

      3、  \  換行符

msg = ‘我是{name},今年{age},喜歡{hobby},我依然叫{name}‘    .format(name = ‘太白‘, age = ‘20‘,hobby = ‘girl‘)
print(msg)

技術分享圖片

  isalnum()  字符串由字母或數字組成。

name = ‘jinxin123‘
print(name.isalnum())

技術分享圖片

  isalpha()  字符串只由字母組成。

name = ‘jinxin123‘
print(name.isalpha())

技術分享圖片

  isalnum()  字符串只由數字組成。

name = ‘jinxin123‘
print(name.isdigit())

技術分享圖片

  for循環:

    for i in 可叠代對象:

      pass

s = ‘fdsagdsfgfdsadsaf‘
count = 0
while count < len(s):
    print(s[count])
    count += 1

技術分享圖片

s = ‘fdsagdsfgfdsadsaf‘
for i in s:
    print(i + ‘sb‘)

技術分享圖片

3、bool

  int <-----> str

    str -----> int  :int(str) 條件:  字符串必須全部由數字組成。

age = int(input(">>>"))
print(age,type(age))

技術分享圖片

    int ----->str  :str(int)

s1 = str(123)
s2 = 123
print(s1, type(s1))
print(s2, type(s2))

技術分享圖片

    bool <-----> int  True ----->1  False ----->0

print(int(True))

技術分享圖片

print(int(False))

技術分享圖片

    int ----->bool  非零即為Ture,零為False。

print(bool(100))

技術分享圖片

print(bool(0))

技術分享圖片

print(bool(-1))

技術分享圖片

  bool -----> str  str(True)  str(False)

  str -----> bool  非空即為True,‘‘空字符串為False。

s1 = ‘‘
if s1:
    print(666)

技術分享圖片

4、list

  [‘name‘,Ture,[]....]  各種類型的數據,大量數據,便於操作。

5、tuple 元組

  ()    只讀列表,可讀不可寫。

6、dict

  {‘name‘:‘老男孩‘,

  ‘name_list‘:[‘反面教材‘,......]

  ‘alex‘:{‘age‘:40,

     ‘hobby‘:‘oldwomen‘,

     }

  },

  存儲大量的數據,關系型數據。

7、set

  {‘wusir‘,‘alex‘,...}

Python全棧__字符串初識及操作