数据类型转换及字符串简介

时间:2020-12-31 04:37:57

数据类型转换及字符串简介

数据类型转换

  1. 数据类型转换

    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
  2. 进制转换

    • 十进制转换二进制

      bin(23)#十进制转换二进制
    • 二进制转换十进制

      int('1011',2)
  3. 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)
# 判断是不是十进制的数字