数据类型的内置方法简介
- 内置方法:相当于每个人身上自带的功能 1整型2浮点型3列表型4字典型5字符型6布尔值7元组8集合 在使用数据类型的内置方法统一使用句点符 数据类型.方法名()
- 我们需要借助于编辑器的自动提示来查看某个数据类型的内置方法,在学习的过程中还会运用到其他的一些方法。
整型相关方法
- 用int表示 也就是整数形式 用于计算没有内置方法 int(待转换的数据) print(bin(100)) # bin() 将十进制转二进制 0b1100100 0b是二进制数的标识 print(oct(100)) # oct() 将十进制转八进制 0o144 0o是八进制数的标识
print(hex(100)) # hex() 将十进制转十六进制 0x64 0x是十六进制数的标识
如果数字前面没有任何标识 默认就是十进制其他进制转十进制
自动识别进制数
print(int(0b1100100)) 100
print(int(0o144)) 100
print(int(0x64)) 100
人为指定进制数
print(int('0b1100100', 2)) 100
print(int('0o144', 8)) 100
print(int('0x64', 16)) 100
浮点型相关方法
- float 是一种浮点数据类型 它可以识别一个小数点 但是多个小数点的时候是不可以的 print(float('123.12')) 可以识别一个小数点 print(float('123.123.1.2.2.2.2.2.2')) 不可以 针对布尔值的特殊情况
print(float(True)) 1.0
print(float(False)) 0.0
print(int(True)) 1
print(int(False)) 0
字符串相关方法
- str:兼容所有的数据值
print(str(123), type(str(123)))
print(str(123.11), type(str(123.11)))
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
print(str({'name': 'yqb'}), type(str({'name': 'yqb'})))
print(str(True), type(str(True)))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
- 不需要死记硬背 只需要掌握几个常见的就行等后续遇到新的直接代码执行即可 1:索引取值:提取单个字符 并且支持负数 2:切片取值:多个字符同时也支持负数默认顺序从左到右 3:间隔/方向 print(s1[:]) # 所有
print(s1[::2]) # 针对整个字符串 隔一个取一个
print(s1[0:5:1]) # hello 默认1可以不写
print(s1[0:5:2]) # hlo 4:统计字符串中字符的个数 print(len(s1)) print(len('hello jason!')) 12 空格也算字符 5:移除字符串首尾指导的字符 字符串调用内置方法 不是改变原数据 而是产生了新的数据 也可以进行左右消除 就是在strip前+l(left)或者+r(right) 6 按照指定的字符切割字符串 假如出现了连续的特征符号 就该使用切割 切割字符串后是一列表 可以从左到右进行切割 当需要切割次数时就可以使用maxsplit+次数即可 7字符串大小写相关 s2 = 'HeLLo Big BAby 666 你过的还好吗'
print(s2.lower()) # hello big baby 666 你过的还好吗
print(s2.upper()) # HELLO BIG BABY 666 你过的还好吗
print(s2.islower()) # 判断字符串中所有的字母是否是全小写 False
print(s2.isupper()) # 判断字符串中所有的字母是否是全大写 False
print('aaa'.islower()) # True
print('AAA'.isupper()) # True
code = 'JaSon666'
print('这是网页给你返回的随机验证码:%s' % code)
confirm_code = input('请输入验证码>>>:')
code_upper = code.upper() # 将网页返回的验证码转大写
confirm_code_upper = confirm_code.upper() # 将用户填写的验证码转大写
if code_upper == confirm_code_upper:转大写 或者小写 再做比对
if confirm_code.upper() == code.upper(): # 统一转大写 或者小写 再做比对
print('验证码正确')
else:
print('验证码错误') 可以使用upper和lower进行是否是全大写和全部小写来进行转换 如果在前面使用is+lower/upper则进行大小写的判断 8字符串的格式化输出 方式1 等价于%s占位 没有什么优势
res1 = 'my name is {} my age is {}'
print(res1.format('jason', 18))
方式2: 支持索引取值 并且支持重复使用
res2 = 'my name is {0} my age is {1} {0} {1} {1} {1}'
print(res2.format('jason', 18))
方式3: 支持关键字取值(按k取值) 并且支持重复使用
res3 = '{name} {name} {age} my name is {name} my age is {age}'
print(res3.format(name='jason', age=18))
方式4:推荐使用(******)
name = 'jason'
age = 18
print(f'my name is {name} my age is {age} {name} {age}')
总共有四种方式 与前三种方式进行对比第四种是最值得推荐使用的 但也不能将前三种忘记
9.统计字符串中指定字符出现的次数
9.统计字符串中指定字符出现的次数
res='sdashdjasdwjjkashdjasdjqwhasjdjahdjwqhdjkasdhwsdaadadadadad'
print(res.count('j'))
print(res.count('ad'))
使用count()更加的方便
10判断字符串的开头或者结尾
res = 'jason say ha ha ha heiheihei'
print(res.startswith('jason'))
print(res.startswith('j'))
print(res.startswith('b'))
print(res.endswith('heiheihei'))
print(res.endswith('hei'))
print(res.endswith('h'))
使用startswith和endswith进行判断开头或结尾的字母
11 字符串的替换
peplace(‘888’,‘999’)从左往右全部替换
peplace(‘888’,‘999’,1)从左往右替换指定个数 1不是准确数字可以是其他数字
12字符串的拼接
print(res1 + res2) 字符串支持加号拼接
print(res1 * 10) 字符串支持乘号重复
print(''.join(['hello', 'world', 'hahaha'])) join方法拼接
print('|'.join(['hello', 'world', 'hahaha'])) join方法拼接
print('$'.join(['jason', 'say', 666])) 列表中的数据都必须是字符串类型 不然就报错 13判断字符串中是否是纯数字 使用i上帝给后台()惊醒判断是否是纯数字 如果有字母和小数点都是不行 14查找某个字符对应的索引值 res = 'hello world jason'
print(res.index('d')) 10
print(res.find('d')) 10
index查找索引 如果没有则报错
print(res.index('d',0,5))
find查找索引 如果没有则返回-1
print(res.find('d',0,5)) -1
15.正文相关操作
使用title()则全部首字母变为大写
使用apitalize()则首字母变为大写的只有第一个词组
列表相关方法
list 能够被for循环的数据类型都可以转换成列表 print(type(list(...))) 1.索引取值 print(l1[0]) print(l1[-1]) 2.切片操作 print(l1[0:3]) print(l1[:]) print(l1[-4:-1]) 3.间隔/方向 print(l1[::2]) 统计列表中数据值的个数 print(len(l1)) 4
作业
1.基于字符串充当数据库完成用户登录(基础练习)
data_source = 'jason|123' # 一个用户数据
获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
2.基于列表充当数据库完成用户登录(拔高练习) # 多个用户数据 data_source = ['jason|123', 'kevin|321','oscar|222']
3.整理今日内容及博客 4.周日下午或晚上完成本周内容总结