基礎數據類型
數字int
主要是用於計算,使用方法並不多,主要記住一種即可:
bit_lenght() #當十進制用二進制表示時,最少使用的位數
例如:
v = 12 data = v.bit_length() print(data)
布爾值bool
布爾值只有兩種情況:True,False。
True,真,1(非零即真)
False,假,0
字符串str
索引:字符串組成的元素從第一個開始,初始索引爲0,以此類推。
例如,‘wuli’這個字符串索引爲0的元素是w,索引爲1的元素是u
a = 'wuli' print(a[0]) print(a[1]) print(a[2]) print(a[3])
結果輸出:
w
u
l
i
切片:通過索引(索引:索引:步長)截取字符串的一段,形成新的字符串(原則是顧頭不顧尾)
a = 'ABCDEFGHIJKLMN' print(a[0:3]) print(a[2:5]) print(a[0:]) #默認是到最後 print(a[0:-1]) # -1是列表中最後一個元素的索引,由於是顧頭不顧尾,所以最後一個N取不到 print(a[0:7:2]) #從A開始到H每2步長取一個 print(a[7:0:-2]) #反向加步長取值
結果輸出:
ABC
CDE
ABCDEFGHIJKLMN
ABCDEFGHIJKLM
ACEG
HFDB
字符串常用方法
1.captalize() #首字母大寫
s = 'wulipyThon' s1 = s.capitalize() print(s1)
結果輸出:
Wulipython
2.swapcase() #大小寫翻轉
s = 'wulipyThon' s2 = s.swapcase() print(s2)
結果輸出:
WULIPYtHON
3.title() #首字母大寫/每個單詞首字母大寫
s = 'wulipyThon' s3 = s.title() print(s3) s4 ='abc def ghi' print(s4.title())
結果輸出:
Wulipython
Abc Def Ghi
4.upper()和lower() 字符串全大寫和全小寫
s = 'wulipyThon' s5 = s.upper() print(s5) s6 = s.lower() print(s6)
結果輸出:
WULIPYTHON
wulipython
5.center() 將字符串居中,空白處填充
s = 'wulipyThon' s7 = s.center(20, '~') print(s7)
結果輸出:
~~~~~wulipyThon~~~~~
6. expandtabs() \t前面的補全,默認將一個tab鍵變成8個空格,如果tab前面的字符長度不足8個,則補全8個,如果tab鍵前面的字符長度超過8個不足16個則補全16個,以此類推每次補全8個。
s = 'wuli\tpyThon' s8 = s.expandtabs() print(s8)
輸出結果:
wuli pyThon #空白處有4個空格
7. count() 數字符串中的元素出現的個數,可切片。
s = 'wulipyThon' s9 = s.count('w', 0, 4) print(s9)
輸出結果:
1
8. len() 輸出字符串一共有多少個字符
s = 'wulipyThon' s10 = len(s) print(s10)
輸出結果:
10
9. startswith() 和 endswith() 判斷是否以xxx開頭;判斷是否以xxx結尾
s = 'wulipyThon' s11 = s.startswith('wuli') s12 = s.startswith('p', 4, 9) s13 = s.endswith('Thon') s14 = s.endswith('Thon', -4, -1) #顧頭不顧尾 print(s11, s12, s13, s14) #返回是布爾值
輸出結果:
True True True False
10. find() 和 index()
尋找字符串中的元素是否存在。
find()返回找到的元素的索引,如果找不到則返回-1
s = 'wulipyThon' s15 = s.find('li') s16 = s.find('py', 0, 7) s17 = s.find('wang') print(s15) print(s16) print(s17)
輸出結果:
2 4 -1
index()返回找到的元素的索引,找不到報錯。
s = 'wulipyThon' #s18 = s.index('A') s19 = s.index('li') #print(s18) print(s19)
輸出結果:
s18直接報錯;
s19輸出結果爲2,表示索引所在位置
11. strip()、lstrip()和rstrip() strip()默認是刪除前後空格
name = '***wuli**' print(name.strip('*')) #將字符串兩邊的*號刪除 print(name.lstrip('*')) #將字符串左邊的*號刪除 print(name.rstrip('*')) #將字符串右邊的*號刪除
輸出結果:
wuli
wuli**
***wuli
12. split() 以什麼分割,最終形成一個列表,此列表不含有這個分割的元素。
s = 'zhangsan;lisi;wangwu;zhaoliu' s20 = s.split(';') s21 = s.split('a') print(s20) print(s21)
輸出結果:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu'] ['zh', 'ngs', 'n;lisi;w', 'ngwu;zh', 'oliu']
13. format()的三種用法,格式化輸出
第一種:
s = '我叫{},今年{},愛好{},記住我的名字{}'.format('wuli', 18, 'python', 'wuli') print(s)
輸出結果:
我叫wuli,今年18,愛好python,記住我的名字wuli
第二種:
name = input('請輸入名字:') s = '我叫{0},今年{1},愛好{2},再說一下我叫{0}'.format(name, 18, 'python') print(s)
輸出結果:
請輸入名字:zhangsan
我叫zhangsan,今年18,愛好python,再說一下我叫zhangsan
第三種:(推薦第三種用法)
name = input('請輸入名字:') s = '我叫{name},今年{age},愛好{hobby},再說一下我叫{name}'.format(age = 19, name = name, hobby = 'python') print(s)
輸出結果:
請輸入名字:李四
我叫李四,今年19,愛好python,再說一下我叫李四
14. replace() 重命名
s = '李白說:天生我才必有用,千金散盡還復來,他的名字叫李白!' print(s.replace('李白', '有個古代詩人', 1)) #如果不寫明替換次數,即將所有都替換。
輸出結果:
有個古代詩人說:天生我才必有用,千金散盡還復來,他的名字叫李白!
15. is系列
name = 'wuli123' print(name.isalnum()) #字符串由字母或數字組成 print(name.isalpha()) #字符串只有字母組成 print(name.isdigit()) #字符串只有數字組成
輸出結果:
True
False
False
for循環
s = '我是中國人,我愛我的祖國!' for i in s: print(i)
輸出結果:
我
是
中
國
人
,
我
愛
我
的
祖
國
!
示例:
s = '你是大流氓' if '流氓' in s: print('您的評論有敏感詞彙,請修改...')
輸出結果:
您的評論有敏感詞彙,請修改...