数据类型的内置方法简介
内置方法可以简单理解成每个类型的不同用法 使用数据类型的内置方法同样采用句点符
数据类型.内置数据用法()
print(str(12), type(str(12))) # 12 <class 'str'>
print(str(123.11), type(str(123.11))) # 123.11 <class 'str'>
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4]))) # [1, 2, 3, 4] <class 'str'>
print(str({'name': 'jason'}), type(str({'name': 'jason'}))) # {'name': 'jason'} <class 'str'>
print(str(True), type(str(True))) # True <class 'str'>
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4)))) # (1, 2, 3, 4) <class 'str'>
print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4}))) # {1, 2, 3, 4} <class 'str'>
例:'joker'数据内置方法()
name = 'joker' # name = 'joker'.数据内置方法()
如何快速查看数据内置类型 可借助编辑器自动提示
我们在学习数据内置方法时还会使用一些其他的用法
例:索引取值,按K取值
整型相关方法
关键字(int)
整型就是整数,用于计算整数 (没有相关内置方法)
类型转换
int(待转换的数据)
print(type(int('18'))) # 只能转换字符串内是是纯数字
print(tpye(int('18a1'))) # 字符串内带有字母则会报错
print(type(int('18.1'))) # 小数点也不行
浮点型相关方法
关键字(flaot)
浮点型用于数学运算(没有相关内置方法)
类型转换
浮点型只能识别一个小数点 是整数时换填充一个小数点 但仅限于一个
print(float('18')) # 18.0
print(type(float('18'))) # float
print(float('18a18')) # 不是小数点则会报错
print(float('18.1')) # 可以识别一个小数点
print(float('18.15.77.88')) # 多个小数点不行
补充知识:python对数字不敏感,很容易出错 但它还可以做很多事 牛逼的不是它本身 而是它身后的一些牛逼的模块 可以用弥补它的缺点
字符串的相关方法
关键字(str)
类型转换:可兼容所有的数据值
内置方法:
1.索引取值:取出单个字符 支持负数
str = 'hello world'
print(str[1]) # o
print(str[-1]) # d
print(str[-2]) # l
2.切片取值:取出多个字符 支持负数 切片取值默认从左往右
str = 'hello world'
print(str[0:3] # hel (从索引0的位置开始切到2 顾头不顾尾)
print(str[-1:-3]) (切片操作默认从左往右)
print(str[-1:-4:-1]) #dlr (切片可以通过第三个数来控制从右往左进行切片)
print(str[-4:-1]) # orl (顾头不顾尾)
3.间隔/方向
str = 'hello world'
print(str[:]) # hello world (所有)
print(str[::2]) # hlowrd (针对整个字符串 隔一个取一个)
print(str[0:5:1]) # hello (第三个默认是1 可以不写)
print(str[0:5:2]) # hlo (从字符串0到5 隔一个取一个)
4.统计字符串中的字符个数
str = 'hello world'
print(len(str)) # 11 (空字符也包含在内)
5.移除字符串首尾的指导字符
name = ' joker '
print(len(name)) # 7
print(name.strip()) len(name) # 5 移除首尾移除只剩5个字符
res = name.strip()
.strip('$')可以移除指定的字符 # $$joker$$
.lstrip('$')可以移除左边的字符 # $$joker
rstrip('$')可以移除右边的字符 # joker$$
这里需要主要的是它不是改变原来的值 只是重新创建了一个新的数据 要想永久保存需要重新给它绑定一个名字
6.按照指定的字符切割字符串
info = 'joker|123|rea'
res = info.split('|'),(切割字符串后的结果是个列表)
.split('|',maxspilt=1) # 从左往右 只切一次 ['joker','123|rea']
.rplit('|',maxspilt=1) # 从右往左 只切一次 ['joker|123',rea]
7.字符串的大小相关
.lower() # 将字母全部转成大写
.upper() # 将字母全部转成小写
.islower() # 判断字符串中的字母是否全是小写
.isupper() # 判断字符串中的字母是否全是大写
需要注意:只能将字母转换(数字 空格 符号 则不会参与转换)
8.字符串的格式化输出
方式1:等价于%s,先把文本编辑好 想要占位的地方用{} 可以多处占位 通过变量名.format 格式化输出
res1 = 'my name is {},my age is {}'
print(res1.format('joker',18))
方式2:支持索引取值 并且可以重复使用
res2 = 'my name is {0},my age is {0}{1}{0}{0}'
print(res2.format('joker',18))
方式3:通过关键字取值 (按K取值) 并且可以重复使用
res3 = '{name} {name} my name is {name} {name},my age is {age} {age}'
print(res3.format(name = 'joker', age = 18))
方式4:使用变量名 然后绑定数据值 在使用时将变量名输入{}内即可 并且也可以重复使用 最推荐使用的一种方式
name = 'joker'
age = 18
print(f'my name is {name},my age is {age}')
9.统计字符串中指定字符的出现次数
关键字(.count)
str = 'fasfdsfdsffegsdfqadafasadgfdsfs'
print(str.count('s')) # 7
print(str.count('f')) # 9
10.判断字符串开头或结尾
关键字(.startswith)# 判断字符串开头,(.endswith) # 判断字符串结尾
str = 'jason say ha ha ha heiheihei'
print(str.startswith('jason')) # True
print(str.startswith('a')) # False
print(str.startswith('ja')) # True
print(str.endswith('heiheihei')) # True
print(str.startswith('hei')) # False
print(str.startswith('i')) # False
可以查找单个字符 也可以查找多个字符 返回来的结果是布尔值
11.字符串的替换
关键字(.replace)
res = 'lisa lisa lisa SB SB SB'
print(res.replace('lisa', 'tony')) # tony tony tony SB SB SB 从左往右全部替换
print(res.replace('lisa', 'tony',2)) # tony tony lisa SB SB SB 从左往右指定替换
12.字符串的拼接
12.1 字符串支持 + 号拼接
a = 'hello'
b = 'world'
print(a+b) # helloworld
12.2 字符串支持 * 号重复
a = 'hello'
b = 'world'
print(a * 10)
12.3 jojo拼接
print(''.jojo ['hello','world','hh']) # helloworldhh
print('|'.jojo ['hello','world','hh']) # hello|world|hh
print('$'.jojo ['hello','world','66']) # 拼接列表中的数据类型必须是字符串 否则会报错
13.判断字符串中是否都是纯数字
关键字:(.isdigit) 所返回的是布尔值
print('123'.isdigit()) # Ture
print('123a'.isdigit()) # False
print(''.isdigit()) # False
14.查找每个字符的索引值
关键字:(.index)
res = 'hello,world,lll'
print(res.index('d')) # 10
print(res.index('d',0,5))
使用.index 查找索引 如果没有则会报错
关键字:(.find)
res = 'hello,world,lll'
print(res.find('d')) # 10
print(res.find('d',0,5))
使用.find 查找索引 如果没有则返回-1
15.正文相关操作
关键字:(.title) 首字母大写
res = 'my name is joker'
print(res.title()) # My Name Is Joker
关键字:(.capitalize) 只有第一个字母大写
res = 'my name is joker'
print(res.capitalize()) # My name is joker
列表的相关方法
关键字:(list)
整型和浮点型不能够直接转换成列表 能够被 for循环的数据类型都能够转换成列表
1.索引取值:可用于负数取法
l1 = ['jason', 'joker', 'lisa', 'tony','kevin']
print(l1[0]) # jason
print(l1[-1]) # kevin
2.切片操作
l1 = ['jason', 'joker', 'lisa', 'tony','kevin']
print(l1[:]) # 默认取所有
print(l1[0:2]) # jason, joker 索引从0到2切片 顾头不顾尾
print(l1[-4:-1]) # joker, lisa, tony 默认从左往右 顾头不顾尾
print(l1[-1:-4:-1]) # kevin, tony, lisa 第三个数表示从右往左 顾头不顾尾
3.间隔/方向
l1 = ['jason','joker','lisa','tony','kevin']
print(l1[:]) # 默认取所有
print(l1[-4:-1]) # jason, lisa, tony
print(l1[0:3]) # jason, joker,lisa
4.统计列表中的数据值的个数
l1 = ['jason','joker','lisa','tony','kevin']
print(len(l1)) # 5
