字符串
一、数据类型 -- int类
1、bit_length()方法
v1 = 1
data = v1.bit_length()
v = 15
data = v.bit_length() #当前十进制数用二进制数表示时最少使用的位数(计算位数)
print(data)
2、二进制、十进制、八进制
二进制:0,1,10,11,100
十进制:0,1,2,3,4...9
八进制:0,1,2,3,4...7
在本质上内部存储:00001010 01010100二进制数
二进制 | 八进制 | 十进制 | 十六进制 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
10 | 2 | 2 | 2 |
11 | 3 | 3 | 3 |
100 | 4 | 4 | 4 |
101 | 5 | 5 | 5 |
110 | 6 | 6 | 6 |
111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
二、数据类型--bool类
v1 = True #1
v1 = False #0
三、数据类型--str类
(一)、str类中为当前对象提供的功能
1、变大写
v = 'alex' v1 = v.upper() print(v1)
-----------------------------
v = 'alex'
print(v.upper())
2、变小写
v = 'alEx' v1 = v.lower() print(v1)
------------------------
v = 'alEx'
print(v.lower())
3、首字母变大写
v = 'alEx' v1 = v.capitalize print(v1)
--------------------------
v = 'alEx'
print(v.capitalize())
4、去掉首尾空格
v = ' avs fadf ' v1 = v.strip() print(v1)
---------------------
v = ' avs fadf '
print(v.strip())
5、去除左边
v = ' sdfd dfd ' v1 = v.lstrip() print() --------------------------- v = ' sdfd dfd ' print(v.lstrip())
6、去除右边
v = ' sdfd dfd ' v1 = v.rstrip() print(v1) ----------------------- v = ' sdfd dfd ' print(v.rstrip())
7、替换
v = 'SCII第一次以规范标准的形态以规范标准的形态以规范标准的形态' v1 = v.replace("标准",""***) v2 = v.replace("第一次","#") print(v1,v2)
8、分割 (默认以空格分隔)
v = 'SCII第一次以规范标准的形态以规范标准的形态以规范标准的形态' v1 = v.split("第一次") v2 = v.split("标准") v3 = v.split("标准",2) print(v1,v2,v3)
9、判断当前字符串是否全是数字
v = 13 v1 = v.isdigit() print(v1)
例:
count = 0
v = "fs123fslf"
for item in v:
if item isdigit:
count = count + 1
print(count)
10、format()格式化输出
(1)按位置格式化 s = "我叫{},今年{}岁了,我喜欢{}".format("朴信惠",18"拍戏") print(s) (2)指定位置格式化 s = "我叫{0},今年{2}岁,我喜欢{1}".format(”朴信惠“,"拍戏",18) print(s) (3)指定关键字 s = "我叫{name},今年{age}岁了,我喜欢{hobby}".format(name="朴信惠",age=18,hobby="拍戏")
print(s)
11、字符串的查找
(1)判断字符串是否以***开头 s = "汪峰的老婆不爱汪峰" print(s.startswith("汪峰")) (2)判断字符串是否以***结尾 s = "汪峰的老婆不爱汪峰" print(s.endswith("汪峰")) (3)计算***在字符串中出现的次数 s = "汪峰的老婆不爱汪峰" print(s.count("老婆")) (4)计算***在原字符串中出现的位置,如果没有出现就返回-1 s = "汪峰的老婆不爱汪峰" print(s.find("汪峰")) (5)index中的内容不存在,直接报错 s = "汪峰的老婆不爱汪峰" print(s.index("国际章"))
12、条件判断
s = "abc123" (1)判断字符串是否由数字组成 print(s.isdigit()) (2)判断是否由字母组成 print(s.isalpha()) (3)是否由字母和数字组成 print(s.isalnum()) (4)判读所有数字 s = "二千1234伍万"
print(s.isnumerice())
(5)判断是否全是大写 print(s.isupper()) (6)判断是否全是小写 print(s.islower)
(7)判断是否是字符
print(s.isalpha)
(8)判断是否是空格
print(s.isspace)
13、计算字符串长度 len()--python的内置函数
s = "我是你的眼" print(len(s)) ---------------------------- i = s.__len__() #也可以求长度,len()函数执行的时候就是它 print(i)
14、迭代 (将字符串从头到尾的进行遍历)
s = "美女姐姐你好漂亮" print(len(s)) #长度是8,下标到7 (1)while循环 count = 0 while count < len(s): print(s[count]) count = count +1 (2)for循环 for c in s: #把s中的每一个字符交给前面的c循环 print(c) for循环语法: for 变量 in 迭代对象: 循环体
15、str的切片和索引
(1)索引 (索引就是下标. 切记, 下标从0开始 ) s = "python最牛逼" print(s[1]) print(s[2]) print(s[3]) print(s[4]) print(s[0]) #根据字符串的下标取值,如果下标没有没对应的值,就会出现报错,下标越界 print(s[-1]) #表示倒数第一个 print(s[-2]) #表示倒数第二个 (2)切片 str[star:end] #含头不含尾,从star开始,到end结束,不包含end s = "python最牛逼" print(s[0:3]) #从开始取到3 print(s[6:8]) print(s[4:9]) print(s[6:10]) print(s[3:]) #从3直接取到最后 print(s[-5:-1]) #从倒数第五个取到倒数第二个 print(s[-5:]) #从倒数第五个取到最后 print(s[:-1]) #直接取到-1 print(s[:]) #原样输出 (3)步长 # 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1 str[start:end:step] start: 起始位置 end: 结束位置 step:步⻓长 print(s[1:5:2]) #从1取到5,每2个取一个 print(s[:5:2]) #从0取到5,每2个取一个 print(s[4::4]) #从4取到最后,每2个取一个 print(s[-5::2]) #从-5取到最后,每2个取一个 print(s[-1:-5:-1]) #从-1取到-5,反着取 print(s[-5::-3]) #从-5取到开始,每3个取一个