1.概念
1.十进制转二进制,对2取余,余数倒序排列 2.字符串为空的时候,bool值为false,字符串非空就是True
3.字符串转化成int时,必须是只包含数字才能转化。
2.基本数据类型详解
1.数字int
#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length() #查看十进制的1000在二进制里面有多少有效位数(从遇到1开始向后累加个数)
print(data)
2.布尔值bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
注意:字符串为空的时候,bool值为false,字符串非空就是True。
3.字符串的索引和切片
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
a = 'ABCDEFGHIJK'
print(a[0]) --->A
print(a[3]) --->D
print(a[5]) --->F
print(a[7]) --->H
print(a[-1]) --->K
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
a= "我爱python"
s = a[0:4] #取值为"我爱py",根据顾头不顾腚原则,只能取值到4-1,不能取到下标为4的元素
s1 =a[:5] #从0开始的话,0可以省略不写
s2 = a[:] #从头取到尾
s3 = a[:5:1] #[起始索引:结尾索引+1:步长] #从下标为0开始到下标4之间,相隔一个取一个值
s4 = a[-1] #取最后一位
s5 = a[0:-1] #由于顾头不顾腚,只能取值到倒数第二位
s6 = a[-1:-4:-2] #反向取值必须加反向步长
s7 = a[5:0:-2]) #反向取值必须加反向步长
注意:
1.支付串里面的每元素有自己的下标,通过下标也能找到每个元素
2.通过索引和切片出来的都是字符串类型,并且是新的字符串,与源字符串无关,新找到的字符串会在内存中开辟新的地址来存放找到的字符串
3.字符串str方法详解
s = "root admin p0st admin"
字符串分割:
s.spilt() #默认按空格来分割
s.spilt(',') #按指定字符来分割
s.spilt(',',1) #按指定分割次数来分割,以逗号分割,默认从左到右分割一次
s.rspilt() #从右向左分割
默认按空格来分割,会将str类型转化成list类型(因为str类型是可迭代类型;能被for循环的都是可迭代类型)
当要分割的字符串中出现几个指定字符时,分割的时候就会出现n+1个元素
字符串替换:
s.repalce('admin','123') #将admin替换成123
s.replace('admin','123',2) #将出现的前两次admin都换成123,后面再出现的不替换
字符串去除:
s.strip() #默认去除字符串两边的换行符,制表符和空格
s.rstrip() #只去除右边的。。。。。。
s.lstrip() #只去除左边的。。。。。。
s.strip('root') #去除字符串中的root,但是只是去除第一个发现的