数据类型内置方法

数据类型的内置方法简介
内置方法可以简单的理解成是每个数据类型自带的特性
使用数据类型内置方法采用句点符
数据类型.方法名(括号)
eg:'jason'. 字符串具备的方法()
name = 'Jason'
name.字符串具备的方法()
快速查看某个数据类型的内置方法
借助编辑器的自动提示
整型的相关方法
1关键字
int()
整型没有内置方法
可以进行类型转换
类型转换
int(待转换的数据)
age = input(18) 获取的是字符串需要
age = int(age) 转为整型
print(type(int(age))) 查询转换后的数据 使用一个关键字就用一个括号
只有纯数字才可以转换整型浮点型和字符串都不可已
进制转换
二进制 八进制 十进制 十六进制
'''十进制只转其他'''
print(bin(100)) 转为二进制 0b1100100开头
print(oct(100)) 转为八进制 0o144开头
print(hex(100)) 转为十六进制 0x64开头
print(int(0b1100100))
浮点型相关方法
1.关键字
float
2类型转换
print(float('123')) 将书字转为小数点
print(type(float(123))
整数可以转浮点型布尔值也可以转
转换之后会加个小数点
比如print(float(14)) # 14.0
print(float(True)) # 1.0
print(float(False) # 0.0
字符串的内置方法
"""内置方法太多背不过来熟悉几个即"""
s1 = 'hello jason!'
1.索引取值
print(s1[0]) # h
print(s1[-1]) # !
print(s1[-2]) # n
2.切片取值
print(s1[0:3]) # hel从索引0到索引2
顾头不顾尾
print(s1[-1:-2]) # 默认从左到右 -1后面没有了所以不显示
print(s1[-1 : -3:-1]) # 第三个参数可以改变方向
print(s1[:]) # 取出所有
print(s1[::2]) # 间隔一个取一个 第三参数可以改方向还能间隔取值
print(s1[0:5:1]) # 一个跟一个取默认一可以不写
3. 统计字符串的个数是用
print(len(s1)) # 有多少个就显示多少
列表也可以用这个来统计
s2 = ['数据', '数据', '数据']
print(len(s2)) # 统计出变量内有多少个数据
4. 移除首尾指定字符串
_user_name = input('姓名') # 在获取用户名后立刻对数据进行处理然后进行比对否则将比对失败处理之后我们是只用一次如果需要多次使用那么需要用变量存储 否则需要循环处理,因为字符串内置方法不是改变原数据是产生新的数据
if _user_name == 'jason':
print('登陆成功')
else:
print('登陆失败')
name = ' jason '
print(len(name)) # 九个字符
print(name.strip())
切片用于索引取值,指定取出哪个字符与切割区别在于切片是从某个字符或者数据值切到指定范围,然后生成一个数据值或者列表, 切割是切除指定的分割符,生成一个没有分割符的'''列表'''
5.按照指定字符切割字符串切割之后的数据是个列表
info = 'jason|123|read'
print(info.split('|')) # ['jason','123','read']
切割之后如果需要拿出可以使用索引或者解压
name, pwd, hobby = info.split('|')
#name = jason, pwd = 123, hobby = read
info.split('|', maxsplit = 1) 只切一次 切割用于切除多余字符然后分别赋值
6.字符串大小写相关
s 2 = 'HeLLo Big BAby 666 '
print(s2.lower()) # 转小写.lower
print(s2.upper()) # 转大些 .upper
print(s2.islower()) # 判断是否是纯小写返回的结果是布尔值
code = 'JaSon666'
print('这是网页给你返回的验证马%s' % code)
confiml_ code = input('输入验证马').stirp
code = code.lower() # 将网页给的转小写
confiml_code = confiml.lower() #将用户输入的转小写
if code.lower() == confiml_code.lower():
print('验证马正确')
else:
print('验证码错误')
7.字符串的格式化输出
方式1等价于%s没什么优势
resl = 'my name is %s , my age is %s , my hobby is %s'
print(resl %('tony', '18', 'read'))
resl = 'my name is {} my age is {} my hobby is {}'
print(resl.format('数据', '数据', '数据'))上面有几个括号就需要写几个数据
方式2 res2 = 'my name is {0} my age {1}{0}{0}{1}'
print(res2.format('数据','数据'))
resl = 'my name is {0} , my age is {1} , my hobby is {2}'
print(resl .format('tony', '18', 'read'))
#my name is tony , my age is 18 , my hobby is read
方式三关键字取值按k与字典相关
rea3 ='{name} {name} {age} my name is {name} my age is {age}'
print(rea3.format(name = 'tony', age = 18))
# tony tony 18 my name is tony my age is 18
推荐使用的方式
name = 'jason'
age = '18'
print(f'my name is {name} my age is {age}') # 先用变量名存数据然后再将数据用变量名格式输出 my name is jason my age is 18
8. 类型转换
print(str()) 兼容所有数据 所有数据皆可转位字符串
9.统计数据出先的次数
res = '1212312141242414124'
print(res.count('1')) # 需.count之后需要将想要统计的字符放进括号
10.判断字符的开头或结尾
res = 'jason say 123 321'
print(res.startswith('jason')) # 返回结果是布尔值True
print(res.endswith('321')) # 返回布尔值True
11. 字符串的替换
res = 'jason jason jason'
print(res.replace('jason', 'tony')) # 全部替换
print(res.replace('jason', 'tony', 2)) # 第三个参数可以修改替换的个数)
12.拼接字符串
res = 'hlello'
res2 = 'world'
print(res + res2) # 直接相加即可 这是字符串拼接
print(res * 10) # 使用乘号需要数字,打印出十个数据值连在一起
print(''.join(['hello', 'world'])) # 直接把数据值拼接 里面需要是列表 需要有中括号
print('|'.join(['hello', 'world']))
#这是列表拼接列表中数据必须全是字符串,否则报错
13.判断字符串是否是纯数字
print('123'.isdigit()) # True
print('123a'.isdigit()) # Fales
print(''.isdigit()) # Fales
14.查找某个字符对应的索引值
res = 'hello world jason'
print(res.index('e')) # 查找e的索引如果没有则报错
print(res.find('y')) # 此查找方式如果没有返回-1
print(res.find('d',0 , 5)) #
从索引0查找到索引4的位置没有返回-1有的话返回第几个查到的(顾头不顾尾)
15.正文相关
res = 'my name is jason'
print(res.title()) # 将数据值转为标题首字母大写
print(res.capitalize()) # 将数据值首字母大写
列表相关方法
list
1.类型转换
print(type(list(123)))
print(type(list(13.13)))
list = '123214'
for i in list:
print(i)
print(type(list('124124124')))
print(type(list({name:'jason',age:18})))
'''能被for循环的数据类型都可以转成列表'''
dict = {'k':'v', 'k1': 'v2','k3': 'v3'}
dict = list(dict)
print(type(dict))
for i in dict:
print(i)
#字典也可以转
l1 = ['jason', 'kevin', 'oscar', 'tony']
1.索引取值
print(l1[0], l1[1])
for i in l1:
print(i) #循环索引取值
2.切片操作
print(l1[0:2]) # 从索引0切到索引2
print(l1[:]) #从头到尾
print(l1[-2 : : -1]) # 第三个参数改变方向与字符串切片相似也可间隔取
3.列表在调用内置方法的时候是修改原数据而不是产生新数据
l1 = ['数据1','数据2','数据3']
统计列表中的数据个数使用.len
与字符串一致
print(len(l1))
'''编写程序就是在增删改查'''
增
尾部追加数据用.append()
res = le.append('数据4')
print(res.append('数据4')) # 等于None 因为增加是修改原数据不是生成新数据
print(l1) # l1 = ['数据1','数据2','数据3', '数据4']
l1 = ['数据1','数据2','数据3']
res = l1.append('数据4') # 这是修改原数据
print(l1)
l2 = '$2222$' # 这是生成新的数据需要变量接收否则只能用一次
resl =l2.strip('$')
print(resl)
print(l2)
l1.append([1,2,3,4,5])
print(l1) # l1 = ['数据1','数据2','数据3',[1,2,3,4,5]]
2.任意位置插入数据
insert()括号内什么类型数据都当成一个数据值插入
l1 = ['数据1','数据2','数据3']
l1.insert(1, '插队') # 此方法按照索引位置插入,第一个参数是几就按照索引几插入
print(l1)
扩展列表
l1 = [1,2,3,4]
l2 = [1,2,3,4]
方式一
for i in l1:
l2.append(i)
print(l2)
方式二
print(l1 + l2)
推荐使用
l1.extend(l2) #将列表2 加入列表1
括号里需要是支持for循环的数据类型
3. 查询数据与修改数据
print(l1[0])
l1 = [1,2,3,4]
print(l1[1:4]) # 索引1 查到索引3
l1 = [1,2,3,4]
print(l1[:56]) # 冒号索引0开始查到55
修改数据
l1[0] = 2 # 已将索引0的数据值改为2
print(l1[0]) # 修改数据用赋值来修改
4. 删除数据
删除索引的方式 del l1[0]
l1 = [1,2,3,4]
del l1[0]
print(l1[0]) # 索引[0]被删除后索引1会变为索引0 并且打印l1 索引1已经被删除
直接指定数据删除
res = l1.remove('2')
l1 = [1,2,3,4]
l1.remove(2)
print(l1) # 列表是可变类型所以不会成新的数据直接修改原来数据需分为三步 先删除然后打印原变量绑定的数据
l1 = [1,2,3,4]
res = l1.pop(0)
print(l1, res) # 默认取出尾部数据可以用变量存储再删除 括号内是索引值
5. 统计某个数据值出现的次数
name = ['tony','jason','tony']
print(name.count('tony'))
7.排序
l1 = [3,4,5,6,232,42,34,6,7]
l1.sort()
print(l1)
# 不可变类型需要分三步操作
"""
为什么字符串调用内置方法是产生新的值 列表调用内置方法是改变自身
"""
不可变类型 改变值的时候内存地址也改变了说明id地址改变了简介说明不能修改原地址的数据值
整型 ,浮点型,布尔值 字符串
可变类型数据
对列表的值进型修改之后内存地址不变说明列表是可变类型
可变类型使用内置方法时需要分开使用打印的时候需打印存储原数据的变量名称
元组本身元素不可修改,但如果元组内存在可修改元素,元组的内存地址不可变
修改元组中可变元素时元组的内存地址没有改变
字典修改内部数据值之后内存地址不会改变说明字典时可变类型
## 字典相关的内置方法
```python
info = {
'username': 'jason',
'pwd': 123,
'hobby': ['read', 'run']
}
'''字典一般不需要转换直接定义
k是对v描述性的信息一般是字符串,字符串是不可变类型'''
字典是无序的和集合一样
1.取值 查数据
print(info['k'])
键不存在报错
print(info.get('k'))键不存在返回默认的值,默认返回None
print(info.get('k', 123))# 可填写数据 填写之后会返回填写的数据值
2.统计键值对的个数
print(len(info))
3.修改数据
info['k'] = '>>>:'
修改k描述的值时v的数据值会被修改
4.新增数据
info['数据'] = 'tom'
键如果不存在则会新增
5.删除数据
del info['k']
res = info.pop('username') # 需要用一个变量接收
del info['想要删除的数据']
info.popitem()
6.快速获取键 ,值 键值对数据
print(info.keys()) # 获取字典所有v的值结果当成列表就可以了
7.快速构造字典
list = dict.fromkeys([1,2,3,4],None
)
集合内置方法
set()
1.类型转换
支持for循环的,并且数据必须是不可变类型
2.定义空集合需要使用关键字才可以
3集合内数据必须是不可变类型(整型 浮点型字 符串 元组布尔值)
4应用 去重
找出共同好友 l1 $ l2
找出l1 单独好友 l1 - l2 找哪个的单独部分就用哪个减去另一个
找出两人所有好友 使用管道符 |
找出各自独有的好友是有上引号 ^ 这个键

浙公网安备 33010602011771号