数据类型的内置方法
数据类型
整型(int)
-
整型就是整数,没有内置方法
-
类型转换
int(要转化的数据)
- 字符串内部是只有整数可以转换
- 浮点型转换时会把小数点后面的舍去
print(int('1'))
# run 1
print(int(22.0))
# run 22
print(int(22.9))
# run 22
- 十进制转换
- bin() 将十进制转成二进制
- cot() 将十进制转成八进制
- hex() 将十进制转成十六进制
print(bin(10))
# run 0b1010 0b是二进制数的标识
print(oct(10))
# run 0o12 0o是八进制数的标识
print(hex(10))
# run 0xa 0x是十六进制数的标识
-
转换成十进制
用int()会自动识别进制数并转化为十进制
print(int(0b1010))
# run 10
print(int(0o12))
# run 10
print(int(0xa))
# run 10
- 布尔值
print(int(True))
# run 1
print(int(False))
# run 0
浮点型(float)
-
类型转换
float(要转化的数据)
- 整型或内部只有数字的字符串就可以转换
- 如果是整数就会在小数点后加0
print(float(1))
# run 1.0
print(float('1'))
# run 1.0
print(float('1.224'))
# run 1.224
- 布尔值
print(float(True))
# run 1.0
print(float(False))
# run 0.0
字符串(str)
-
类型转换
str()
- 所有数据都可以转换为字符串
print(str(1)) # run 1
print(str(1.2)) # run 1.2
print(str([1, 2, 3])) # run [1, 2, 3]
print(str({'aa': 1, 'bb': 2, 'cc': 3})) # run {'aa': 1, 'bb': 2, 'cc': 3}
print(str((1, 2, 3))) # run (1, 2, 3)
print(str({1, 2, 3})) # run {1, 2, 3}
print(str(True)) # run True
print(str(False)) # run False
字符串内置方法
- 切片取值
可以自己选择提取字符串的多个字符
a = 'hello world'
print(a[0: 3]) # run hel(从第0个字符切到第二个字符的位置)
切片的顺序默认从左往右,可以用第三个的正负一来控制方向
a = 'hello world'
print(a[-3: 2: -1]) # run row ol(从倒数第三个字符切到第三字符的位置)
每间隔一个提取一个字符
a = 'hello world'
print(a[:: 2]) # run hlowrd(隔一个取一个)
print(a[0: 5: 2]) # run hlo(从第0个字符切到第四个字符隔一个取一个)
- 通过len()可以统计字符串的字符个数
a = 'hello world'
print(len(a)) # run 11 空格也算字符
- 三个可以移除首尾指定字符
name = '@@@bba@@@'
print(name.strip('@')) # run bba 移除首尾的@字符
print(name.lstrip('@')) # run bba@@ 移除前面的@字符
print(name.rstrip('@')) # run @@bba 移除后面的@字符
- .split可以用字符串中的特征符号来切割字符串,形成一个列表
name = 'aa|bb|cc'
print(name.split('|')) # run ['aa', 'bb', 'cc']
在特征符号后面加maxsplit=,根据=后面的数字决定切割几次
name = 'aa|bb|cc'
print(name.split('|', maxsplit=1)) # run ['aa', 'bb|cc'] 默认从左往右切割一次
print(name.rsplit('|', maxsplit=1)) # run ['aa|bb', 'cc'] 在split前面加r将方向相反
- 修改字符串的大小
aa = 'Hello BabY 233 没事吧'
print(aa.lower()) # run hello baby 233 没事吧 将字符串全部改为大写
print(aa.upper()) # run HELLO BABY 233 没事吧 将字符串全部改为小写
- 判断字符串的大小
print('aa'.islower()) # run True 判断字符串是不是全小写
print('AA'.isupper()) # run True 判断字符串是不是全大写
- 格式化输出
name = 'aa {} bb {} cc {} dd {}'
print(name.format(11, 22, 33, 44)) # run aa 11 bb 22 cc 33 dd 44 这样和%s没什么区别
name = 'aa {1} bb {0} cc {0} dd {0}'
print(name.format(11, 22)) # run aa 22 bb 11 cc 11 dd 11 可以索引取值且可以重复使用
a = 11
b = 22
print(f'aa {a} bb {b} cc {b} dd {a}') # run aa 11 bb 22 cc 22 dd 11 将过程简略
- .count用于统计某个字符在字符串中出现的次数
aa ='alslskdaslcscsdkljflslssdvjhsdsds'
print(aa.count('s')) # run 11
- .startswith()判断字符串的开头 .endswith判断字符串的结尾
aa = 'hello baby'
print(aa.startswith('hello')) # run True 判断字符串的开头
print(aa.startswith('h')) # run True
print(aa.endswith('baby')) # run True 判断字符串的结尾
print(aa.endswith('y')) # run True
- +将字符串拼接到一起 *将字符串复制 join()会将括号内的字符串拼接到一起
aa = 'hello'
bb = 'baby'
print(aa + bb) # run hellobaby
print(aa*3) # run hellohellohello
print(''.join(['hello', 'baby', 'aaaa'])) # run hellobabyaaaa
print('|'.join(['hello', 'baby', 'aaaa'])) # run hello|baby|aaaa 在''中间的字符会加入拼接字符串的连接处
- 判断字符串是不是纯数字
print('11'.isdigit()) # True
print('11a'.isdigit()) # False
- .index和.find可以查找字符在字符串中的位置
aa = 'hello baby'
print(aa.index('o')) # run 4 数字是他在字符串的位置
print(aa.index('c')) # 字符串中没有机会报错
print(aa.find('o')) # run 4
print(aa.find('c')) # run -1 字符串中没有机会反回-1
- 首字母修改成大写
aa = 'hello baby'
print(aa.title()) # run Hello Baby 所有首字母变大写
print(aa.capitalize()) # run Hello baby 第一个首字母变大写
列表(list)
-
类型转换
list()
print(list([1, 2, 3])) # run [1, 2, 3]
print(list({'aa': 1, 'bb': 2, 'cc': 3})) # run ['aa', 'bb', 'cc']
print(list((1, 2, 3))) # run [1, 2, 3]
print(list({1, 2, 3})) # run [1, 2, 3]
- 切片取值
可以将多个字符串组成列表
a = ['aa', 'bb', 'cc', 'dd']
print(a[0: 3]) # run ['aa', 'bb', 'cc'](将第0个字符串到第二个字符串组成列表)
a = ['aa', 'bb', 'cc', 'dd']
print(a[-4: -1]) # run ['aa', 'bb', 'cc'](将倒数第4个字符串到倒数第二个字符串组成列表)
每间隔一个字符串取一个字符串
a = ['aa', 'bb', 'cc', 'dd']
print(a[:: 2]) # run ['aa', 'cc'](隔一个取一个)
1
data_source = 'jason|123'
name1, password1 = data_source.split('|')
name = input('name>>>:').strip()
password = input('password>>>:').strip()
if name == name1 and password == password1:
print('欢迎使用!!!')
else:
print('账号或账号错误')
2
data_source = ['jason|123', 'kevin|321', 'oscar|222']
jason, kevin, oscar = data_source
name1, password1 = jason.split('|')
name2, password2 = kevin.split('|')
name3, password3 = oscar.split('|')
name = input('name>>>:').strip()
password = input('password>>>:').strip()
if name == name1 and password == password1:
print('欢迎jason使用!!!')
elif name == name2 and password == password2:
print('欢迎kevin使用!!!')
elif name == name3 and password == password3:
print('欢迎oscar使用!!!')
else:
print('账号或账号错误')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?