数据类型的内置方法
- 简介:内置方法可以简单的理解成是每个数据类型自带的功能(每个人的不同特长)
- 使用数据类型的内置方法统一采用句点符:数据类型.方法名()
- eg:
- 'jason'.字符串具备的方法()
- name = 'jason'
- name.字符串具备的方法()
- ps:如何快速查看某个数据类型的内置方法
- 借助于编辑器自动提示
复制代码 1.整型相关方法
1.1.整型
- 概念:整型就是整数,主要用于计算,没有内置方法
- 关键字:int()
1.2.类型转换
- age = input()
- age = int(age)
- print(type(int('123'))) # 字符串 内部是纯数字情况 可以转换
- print(type(int('123a321'))) # 字符串里面必须是纯数字才可以转换
- print(type(int('123.33'))) # 小数点也不行
复制代码 1.3.进制转换
- 进制:二进制、八进制、十进制、十六进制
- 十进制转换其他进制:
- bin():将十进制转二进制 0b1100100 0b是二进制数的标识
- oct():将十进制转八进制 0o144 0o是八进制数的标识
- hex():将十进制转十六进制 0x64 0x是十六进制数的标识
- print(bin(100)) # 将十进制转二进制
- print(oct(100)) # 将十进制转八进制
- print(hex(100)) # 将十进制转十六进制
复制代码- # 自动识别进制数
- 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
复制代码 2.浮点型相关方法
2.1.浮点型
- 概念:浮点型由整数部分与小数部分组成
- 关键字:float
2.2.类型转换
- print(float('123')) # 123.0
- print(type(float('123'))) # float
- print(float('123a123'))
- print(float('123.12')) # 可以识别一个小数点
- print(float('123.123.1.2.2.2.2.2.2')) # 不可以
复制代码 2.3.针对布尔值的特殊情况
- print(float(True)) # 1.0
- print(float(False)) # 0.0
- print(int(True)) # 1
- print(int(False)) # 0
复制代码 3.字符串相关方法
3.1.字符串
- 概念:双引号或者单引号中的数据,就是字符串
- 关键字:str
3.2.类型转换
- 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': 'jason'}), type(str({'name': 'jason'})))
- 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})))
复制代码 3.3.需掌握的方法
- s1 = 'hello jason!'
- print(s1[0]) # h
- print(s1[-1]) # !
- print(s1[-2]) # n
复制代码
- 切片取值:多个字符,支持负数,切片的顺序默认从左往右
- s1 = 'hello jason!'
- print(s1[0:3]) # hel 从索引0的位置开始切到索引2的位置 顾头不顾尾
- print(s1[-1:-4]) # 切片的顺序默认从左往右
- print(s1[-1:-4:-1]) # !no 可以通过第三个参数的正负一 控制方向
- print(s1[-4:-1]) # son 顾头不顾尾
复制代码- s1 = 'hello jason!'
- print(s1[:]) # 所有
- print(s1[::2]) # 针对整个字符串 隔一个取一个
- print(s1[0:5:1]) # hello 默认1可以不写
- print(s1[0:5:2]) # hlo
复制代码- s1 = 'hello jason!'
- print(len(s1)) # print(len('hello jason!')) 12 空格也算字符
复制代码- s1 = 'hello jason!'
- username = input('username>>>:')
- if username == 'jason': # 'jason ' == 'jason'
- print('登录成功')
- else:
- print('你不是jason!')
复制代码- # 字符串调用内置方法,不是改变原数据,而是产生了新的数据
- name = ' jason '
- print(len(name)) # 9
- print(name.strip(), len(name.strip())) # jason 5
- res = name.strip()
- print(name, len(name)) # jason 9
- print(res, len(res)) # jason 5
- desc1 = '$$jason$$'
- print(desc1.strip('$')) # jason
- print(desc1.lstrip('$')) # jason$$ left
- print(desc1.rstrip('$')) # $$jason right
- username = input('username>>>:')
- username = username.strip()
- username = input('username>>>:').strip() # 先获取用户输入 再立刻移除首尾空格 最后绑定给变量名username
- if username == 'jason': # 'jason ' == 'jason'
- print('登录成功')
- else:
- print('你不是jason!')
复制代码
- 按照指定的字符切割字符串
- 当字符串中出现了连续的特征符号 应该考虑使用切割操作
- info = 'jason|123|read'
- res = info.split('|') # 切割字符串之后结果是一个列表
- print(res, type(res)) # ['jason', '123', 'read'] <class 'list'>
- name, pwd, hobby = info.split('|') # name, pwd, hobby = ['jason', '123', 'read']
- print(info.split('|', maxsplit=1)) # 从左往右 只切一次 ['jason', '123|read']
- print(info.rsplit('|', maxsplit=1)) # 从右往左 只切一次 ['jason|123', 'read']
复制代码- 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('验证码错误')
复制代码- # 方式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}')
复制代码- res = 'sdashdjasdwjjkashdjasdjqwhasjdjahdjwqhdjkasdhwsdaadadadaprint(res.count('j'))
- print(res.count('ad'))
复制代码- 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'))
复制代码- res = 'jason jason jason SB SB SB'
- print(res.replace('jason', 'tony')) # 从左往右全部替换
- print(res.replace('jason', 'tony', 1)) # 从左往右替换指定个数
复制代码
- 字符串的拼接
- 字符串支持加号拼接
- 字符串支持乘号重复
- join方法拼接
- 列表中的数据都必须是字符串类型
- res1 = 'hello'
- res2 = 'world'
- print(res1 + res2) # 字符串支持加号拼接
- print(res1 * 10) # 字符串支持乘号重复
- print(''.join(['hello', 'world', 'hahaha'])) # join方法拼接
- print('|'.join(['hello', 'world', 'hahaha'])) # join方法拼接
- print('$'.join(['jason', 'say', 666])) # 列表中的数据都必须是字符串类型 报错!!!
复制代码- print('123'.isdigit()) # True
- print('123a'.isdigit()) # False
- print(''.isdigit()) # False
复制代码- 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
复制代码- res = 'my name is jason'
- print(res.title()) # My Name Is Jason
- print(res.capitalize()) # My name is jason
复制代码 4.列表相关方法
4.1.列表
- 概念:存储多个数据,能方便获取整体或者局部
- 关键字:list
4.2.类型转换
- print(type(list(123)))
- print(type(list(123.22)))
- print(type(list('123243jasdsad')), list('123243jasdsad'))
- print(type(list({'name':"jason",'pwd':123})), list({'name':"jason",'pwd':123}))
复制代码 4.3.需掌握的方法
- l1 = ['jason', 'kevin', 'oscar', 'tony']
- print(l1[0])
- print(l1[-1])
复制代码- l1 = ['jason', 'kevin', 'oscar', 'tony']
- print(l1[0:3])
- print(l1[:])
- print(l1[-4:-1])
复制代码- l1 = ['jason', 'kevin', 'oscar', 'tony']
- print(l1[::2])
复制代码- l1 = ['jason', 'kevin', 'oscar', 'tony']
- print(len(l1)) # 4
复制代码 作业
1.基于字符串充当数据库完成用户登录(基础练习)
data_source = 'jason|123' # 一个用户数据
获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
2.基于列表充当数据库完成用户登录(拔高练习) # 多个用户数据
data_source = ['jason|123', 'kevin|321','oscar|222']
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |