基础数据类型初识
int
打印占的最少有效位数:
int i = 4
print(i.bit_length())
0: 0000 0000 0位
1: 0000 0001 1位
2: 0000 0010 2位
3: 0000 0011 2位
4: 0000 0100 3位
bool
str ---> bool 非空 True 空就是False
bool ----> str str(True) str(False)
#True i = bool(3) print(i) #False i = bool(0) print(i)
0 :False
1: True
1的效率比True的效率高
str
有顺序,有索引,索引是从0开始的
s = "abcd" print = s[0] #输出的是a #如果是s[1],结果是b
#s[-1]是最后一位,结果是d
切片:顾首不顾尾
s = "abcdefghi" s1 = s[0:3] print(s1) #输出abc #如果s[2:]“:”后不输入数字,表示输出到最后 #如果s[:5]“:”前不输入数字,表示从最前面输出
起始索引:终止索引:步长
s = "abcdefghi" s1 = s[0:7:2] print(s1) #表示输出1到7位中间每隔两位输出一个,输出结果为aceg
倒叙取:
s = "abcdefghijk" s1 = s[8:1:-2] print(s1) #[先写后面:再写前面:倒叙取为负数]
字符串的常用方法:
capitalize()首字母大写,其他字母小写:
s = 'abcd EFg' print(s.capitalize()) #输出Abcd efg
swapcase()大小写反转:
s = "abcd EFGH" print(s.swapcase()) #输出ABCD efgh
非字母隔开的部分,首字母大写,其他小写:
s = 'ab cd3ef#gh' print(s.title()) #输出Ab Cd3Ef#Gh
全部大写和全部小写:
s = 'abcDEF' print(s.upper()) #输出ABCDEF print(s.lower()) #输出abcdef
以什么居中,填充物默认空:
s = "abc" print(s.center(20)) print(s.center(20,'*')) #20:长度 *:填充物
自动补位:
s = 'ab cdefghi' print(s.expandtabs()) #输出ab cdefghi #如果 前面已经有八位,那就补全16位
find()通过元素找索引,可以整体找,可以切片,找不到返回-1:
s = "abcdefg" print(s.find('e',1,5)) #输出4,表示在切片1到5之间查找e
#index()通过元素找索引,可以整体找,可以切片,找不到会报错
startswith:以什么开头
endswith:以什么结尾
s = 'abcdefghigk' print(s.startswith('a')) T print(s.startswith('al')) F print(s.startswith('w',5)) 5表示第五位开始 F print(s.startswith('W',5)) F print(s.endswith("k")) T
表示换行
strip 去除字符串前后两端的空格,换行符,tab键等:
s = ' alex wusir ' print(s) print(s.strip()) 去除两侧空格换行符 print(s.lstrip()) 去除左侧 print(s.rstrip()) 去除右侧
s1 = 'alalelllllllxwusirbl' print(s1.strip("lab")) #如果字符串中间有一个除(“lab”)以外的字母,则停止去除
#输出 elllllllxwusir
split str --->list方法:
切割
s = 'abc;def;ghi' s1 = 'abcabcabc' print(s.split(';')) print(s1.split('a',2)) #结果['abc', 'def', 'ghi'] #结果['', 'bc', 'bcabc'] a在左侧有一个空,2 表示分割次数
replace替换:
s1 = '我是你大爷你大爷你大爷' s2 = s1.replace('大','爷',2) print(s2) #('大','爷',2)表示将大用爷替换,2表示次数 #结果:我是你爷爷你爷爷你大爷
字符串组成的判断:
name='abc123' print(name.isalnum()) #字符串由字母或数字组成 输出True print(name.isalpha()) #字符串只由字母组成 输出False print(name.isdigit()) #字符串只由数字组成 输出False
格式化输出format:
#第一种 s = '我叫{},今年{},身高{}'.format('刘林',25,175) print(s) #输出:我叫刘林,今年25,身高175
#第二种,可以重复使用 s = '我叫{0},今年{1},身高{2},两年后我依然叫{0}'.format('刘林',18,175) print(s) #输出:我叫刘林,今年18,身高175,两年后我依然叫刘林
#第三种,可以不按照顺序写,也可以重复使用 s = '我叫{name},今年{age},身高{high}'.format(name = '金鑫',high=175,age=21) print(s)
count 元素出现的次数:
s = 'aaaaabcdef' print(s.count('a')) #输出:5
len 字符串长度:
s = 'abcd' print(len(s)) #输出:4
for循环:有限循环
s = "abcde" for i in s: print(i) #输出 #a #b #c #d #e