一、索引以及切片
s = 'python24期' #下標(索引) s1 = s[0] #打印索引是0號的,出來的結果是p,類型是str print(s1,type(s1)) s2 = s[2] #索引是2的,出來的結果是t print(s2) s3 = s[8] #索引是8的,出來的結果是期 print(s3) s33 = s[-1] #-1是表示最后一個 print(s33)
二、切片 顧頭不顧腚
# s[起始索引:'結尾索引+1':步長] s = 'python24期' print(s[:2]) #py print(s[:6]) #python print(s[:]) #python24期 print(s[:6:2]) #pto s3 = s[-1:-4:-1] #期42 print(s3)
三、常用方法:對字符串操作形成的都是新的字符串
1、capitalize()首字符大寫,其他字母小寫
s = 'oldBoy' s1 = s.capitalize() print(s1) #Oldboy print(s) #oldBoy
2、swapcase() 大小寫反轉 *
s = 'oldBoy' s2 = s.swapcase() #OLDbOY print(s2)
3、center 居中 設置寬度 *
s3 = s.center(20) s3 = s.center(20,'*') print(s3)
結果:

4、title() 非字母隔開的'單詞'首字母大寫 *
ss = 'alex wusir~b3a2taibai*ritian' s4 = ss.title() print(s4)
結果:

5、全大寫 **
s = 'oldBoy' s5 = s.upper() print(s5)
6、lower() 全小寫 **
s = 'oldBoy' s5 = s.lower() print(s5)
案例:模擬驗證碼登錄
username = input('請輸入賬號:')
password = input('請輸入密碼:')
your_code = input('請輸入驗證碼:').upper()
#print(your_code)
code = 'QerAg'.upper()
if username == 'admin' and password == 'admin':
if your_code == code:
print('登陸成功')

7、startswitch('o') 判斷以什么開頭 **
s = 'oldBoy'
s6 = s.startswith('o')
print(s6)
s61 = s.startswith('old')
print(s61)
s62 = s.startswith('oldBoy')
print(s62)
#返回結果都是True
8、endswith() 判斷以什么結尾 **
s = 'oldBoy'
s63 = s.endswith('y',3)
print(s63)
#返回結果是True
9、strip() 默認去除str前后兩端換行符、制表符、空格 ***
s = ' \noldboy\t'
s7 = s.strip()
print(s7)
# 指定字符去除,
s = 'adsfadsfadskjkl;j'
print(s.strip('adflj')) #從左右兩邊挨個檢查去除
結果:

10、lstrip() 只去除左邊換行符、制表符、空格
s = ' \noldboy\t' s71 = s.lstrip() print(s71)
11、rstrip() 只去除右邊換行符、制表符、空格
s = ' \noldboy\t' s72 = s.rstrip() print(s72)
案例:模擬用戶登錄,防止用戶在前面或者后面加空格
username = input('請輸入賬號:').strip()
password = input('請輸入密碼:').strip()
if username == 'admin' and password == 'admin':
print('登陸成功')
12、split() str ---> list ***
s = 'alex wusir barry'
ss = 'alex,wusir,barry'
ss1 = ',alex,wusir,barry'
s8 = s.split() #默認按照空格分割
print(s8)
s9 = ss1.split(',') #按照逗號分割
print(s9)
print(ss1.split(',')) # 按照逗號分割,只要有逗號,就分割

# # 從前往后依次分割
s = 'alex wusir barry'
ss = 'alex,wusir,barry'
ss1 = ',alex,wusir,barry'
print(ss1.split(',',1)) # 前面第一個逗號分割的是一段,后面的是一段
print(ss1.split(',',2))
print(ss1.split(',',3))

# # 從后往前依次分割
s = 'alex wusir barry'
ss = 'alex,wusir,barry'
ss1 = ',alex,wusir,barry'
print(ss1.rsplit(',',1)) # 最后一個逗號分割的字符串是一段,前面的是一段
print(ss1.rsplit(',',2))
print(ss1.rsplit(',',3))

13、join ***
s = 'oldboy' s10 = '_'.join(s) #每隔一個字母中間都增加一個自定義的符號 s101 = 'alex'.join(s) print(s10) print(s101)

# 一個用途 list -----> str l1 = ['alex','wusir','bary'] # ---> s = 'alex wusir barry' s10 = ' _'.join(l1) print(s10)
14、replace *** 替換
s = '老男孩 老男孩 alex linux python 大數據 alex'
s11 = s.replace('alex','太白') #把所有alex的更好為太白
s12 = s.replace('alex','太白',1) #只更換1個,從左到右
print(s11)
print(s12)

15、is 系列 ***
name = '123' print(name.isalnum()) #字符串由字母或者數字組成 print(name.isalpha()) #字符串只由字母組成 print(name.isdigit()) #字符串只由數字組成 str ---> int 可以判斷你輸入的到底是不是數字

16、格式化輸出 format ***
res = '{} {} {}'.format('egon',18,'male') # 根據順序依次輸出
print(res)
res1 = '{1} {0} {1}'.format('egon',18,'male') #根據索引進行格式化輸出 0=18 1=egon 2=male
print(res1)
res11 = '{2} {0} {2}'.format('egon',18,'male') #根據索引進行格式化輸出 0=18 1=egon 2=male
print(res11)
res2 = '{name} {age} {sex}'.format(sex='male',name='egon',age=18) #根據前面做對應
print(res2)

17、find 通過元素找索引,找不到返回-1 ***
s = 'oldboy'
print(s.find('d')) #d的索引是2
print(s.find('o')) #o的索引是第0和5 但是默認找到一個就返回 。#當然這個還可以做切片.再研究。
print(s[-2],type(s[-2]))
print(s[:2])
print(s.find('A')) #沒有A 所以返回-1

18、index 通過元素找索引,找不到報錯 ***
s = 'oldboy'
print(s.index('d')) #d的索引是2
print(s.index('A')) #找不到就報錯

公共方法:
19、len 測量個數
s = '''asdfadsfadsfadsfadsfadsfasd''' #len 測量個數 print(len(s))

20、count 某個元素出現的次數
s = '''asdfadsfadsfadsfadsfadsfasd'''
print(s.count('f')) #f出現了6次

