数据类型转换及字符串简介
数据类型转换
-
数据类型转换
str转换int
a=int('33') print(a)#结果33#只有要转换的字符串是数字的时候才能转换
int转换str
n=str(56) print(n)#结果"56"
bool转换str
bool值不为空就是True,空就是False b=str(True) print(b)#结果true
bool转换int
b=int(True) print(b)#结果1
-
进制转换
-
十进制转换二进制
bin(23)#十进制转换二进制
-
二进制转换十进制
int('1011',2)
-
str字符串类型
字符串索引及切片
索引:索引即字符串下标
正索引:
负索引:
name = 'alexdsx'
print(name[3])
print(name[-2])
切片:取出字符串对应索引的内容(左闭右开,顾头不顾尾)
name = 'meet'
# 索引 0123
print(name[0:3])
结果:
mee
name = 'meet'
# 索引 -4-3-2-1
print(name[-3:-1])
结果:
ee
name = 'meet'
# 索引 -4-3-2-1
print(name[-3:])
结果:
eet #起始位置与结束位置无内容默认字符串开头与结尾
步长:默认步长为1
name = 'meet'
# 索引 0123
print(name[0:3:2])
结果:
me #步长为正
name = 'meet'
# 索引 -4-3-2-1
print(name[-1:-4:-1])
结果:
tee #步长为负
字符串方法
1.全部大写
str.upper()
name = 'alex'
name1 = name.upper()
print(name1)
2.全部小写
str.lower()
name = 'alex'
name1 = name.lower()
print(name1)
应用场景(验证码)
y_z_m = 'AbC3'
y_z_m_user = input('请输入验证码:')
if y_z_m_user.upper() == y_z_m.upper():
print('验证码输入正确,请输入账号密码登陆')
user = input('请输入账号')
pwd = input('请输入密码')
if user == 'alex' and pwd == '14250':
print('登陆成功')
else:
print('账号或密码错误,请重新登陆')
else:
print('验证码错误,请重新输入')
3.以什么开头
str.startswith()
name = 'alex'
new_name = name.startswith('a')
if new_name:
print('是以a开头')
#判断字符串是否以'a'开头
name = 'alex'
new_name = name.startswith('e',2,5)
if new_name:
print('是以e开头')
#我们可以指定从哪个位置开始,从哪个位置结束
4.以什么结尾
str.endswith()
name = 'alex'
new_name = name.endswith('x')
if new_name:
print('是以x结尾')
#判断字符串是否以'x'结尾
name = 'alex'
new_name = name.endswith('e',2,5)
if new_name:
print('是以e结尾')
#我们可以指定从哪个位置开始,从哪个位置结束
5.统计字符串某个字母出现的次数
str.count()
name = 'alexdasx'
num = name.count('a')
print(num)
# 统计字符串中'a'出现的次数
6.字符串替换
str.replace()
name = 'alexdasx'
new_name = name.replace('sx','sb',1)
print(new_name)
#可选择字符串内容的替换次数
7.去除头尾两边的空格 换行符/制表符
str.strip()
name = ' alex '
new_name = name.strip() #默认脱去开头结尾的空格,也可以自己制定内容
print(new_name)
#去除开头结尾的空格和换行符
8.分割
str.split()
name = 'alexdasx'
new_name = name.split("x") # 默认以空格,换行符,制表符分隔
print(new_name)
# 也可以通过x将字符串name进行切割
name = 'alexdasx'
new_name = name.split("x",maxsplit=1) # 默认以空格,换行符,制表符分隔
print(new_name)
# 切割后的内容是一个列表
is系列
9.判断是不是数字和字母以及中文,返回的是布尔值
str.isalnum()
name = 'alex23大傻'
new_name = name.isalnum()
print(new_num)
#判断是不是数字、字母以及中文
10.判断是不是字母和汉字,返回的是布尔值
str.isalpha()
name = 'alex23大傻'
new_name = name.isalpha()
print(new_name)
#判断是不是纯字母和汉字
11.判断是不是阿拉伯数字,返回的是布尔值
str.isdigit()
num = '⑤'
new_num = num.isdigit()
print(new_num)
#判断是不是阿拉伯数字
12.判断是不是十进制的数字,返回的是布尔值
str.isdecimal()
name = 'alexdasx'
new_name = name.isdecimal()
print(new_name)
# 判断是不是十进制的数字