今日内容

数据类型的内置方法简介

内置方法可以简单理解成每个类型的不同用法 使用数据类型的内置方法同样采用句点符
数据类型.内置数据用法()

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)

整型就是整数,用于计算整数(没有相关内置方法)

1.类型转换
	int(待转换的数据)
	print(type(int('18')))  # 只能转换字符串内是是纯数字
	print(tpye(int('18a1')))  # 字符串内带有字母则会报错
	print(type(int('18.1')))  # 小数点也不行

浮点型相关方法(float)

浮点型用于数学运算(没有相关内置方法)

1.类型转换
	浮点型只能识别一个小数点 是整数时换填充一个小数点 但仅限于一个
	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.类型转换

可兼容所有的数据类型

2.内置方法:

1.索引取值:取出单个字符 支持负数
	str = 'hello world'
	print(str[1]) # o
	print(str[-1]) # d
	print(str[-2]) # l

3.切片取值

1.取出多个字符 支持负数 切片取值默认从左往右
	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 顾头不顾尾

4.间隔/方向

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 隔一个取一个

5.统计字符串中的字符个数

str = 'hello world'
	print(len(str)) # 11 空字符也包含在内

6.移除字符串首尾的指导字符

name = ' joker '
	print(len(name)) # 7 空格也包含在内
	print(name.strip()) len(name) # 5 移除首尾移除只剩5个字符

res = name.strip()
	.strip('$')可以移除指定的字符 # $$joker$$
	.lstrip('$')可以移除左边的字符  # $$joker
	.rstrip('$')可以移除右边的字符  # joker$$
'
这里需要主要的是它不是改变原来的值 只是重新创建了一个新的数据
要想永久保存需要重新给它绑定一个名字
'

7.按照指定的字符切割字符串

info = 'joker|123|rea'
	res = info.split('|')  # 切割字符串后的结果是个列表
	.split('|',maxspilt=1) # 从左往右 只切一次 ['joker','123|rea']
	.rplit('|',maxspilt=1) # 从右往左 只切一次 ['joker|123',rea]

8.字符串的大小相关

lower()  # 将字母全部转成大写
upper()  # 将字母全部转成小写
islower()  # 判断字符串中的字母是否全是小写
isupper()  # 判断字符串中的字母是否全是大写
'
需要注意:只能将字母转换(数字 空格 符号 则不会参与转换)
'

9.字符串的格式化输出
方式一、

等价于%s,先把文本编辑好 想要占位的地方用{} 可以多处占位 通过变量名.format 格式化输出
	res1 = 'my name is {},my age is {}'
	print(res1.format('joker',18))

方式二、

支持索引取值 并且可以重复使用
	res2 = 'my name is {0},my age is {0}{1}{0}{0}'
	print(res2.format('joker',18))

方式三、

通过关键字取值 (按K取值) 并且可以重复使用
	res3 = '{name} {name} my name is {name} {name},my age is {age} {age}'
	print(res3.format(name = 'joker', age = 18))

方式四、

使用变量名 然后绑定数据值 在使用时将变量名输入{}内即可 并且也可以重复使用 最推荐使用方式
	name = 'joker'
	age = 18
	print(f'my name is {name},my age is {age}')

10.统计字符串中指定字符的出现次数

关键字:count
	str = 'fasfdsfdsffegsdfqadafasadgfdsfs'
	print(str.count('s')) # 7
	print(str.count('f')) # 9

11.判断字符串开头或结尾
可以查找单个字符 也可以查找多个字符 返回来的结果是布尔值

关键字: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

12.字符串的替换

关键字: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 从左往右指定替换

13.字符串的拼接

1.字符串支持 + 号拼接
	a = 'hello'
	b = 'world'
	print(a+b) # helloworld

2.字符串支持 * 号重复
	a = 'hello'
	b = 'world'
	print(a * 10)

3.jojo拼接
	print(''.join ['hello','world','hh']) # helloworldhh
	print('|'.join ['hello','world','hh']) # hello|world|hh
	print('$'.join ['hello','world','66']) # 拼接列表中的数据类型必须是字符串 否则会报错

14.判断字符串中是否都是纯数字

关键字:isdigit(所返回的是布尔值)
	print('123'.isdigit()) # Ture
	print('123a'.isdigit()) # False
	print(''.isdigit()) # False

15.查找每个字符的索引值

1.关键字:index
	res = 'hello,world,lll'
	print(res.index('d')) # 10
	print(res.index('d',0,5))
使用index 查找索引 如果没有则会报错

2.关键字:find
	res = 'hello,world,lll'
	print(res.find('d')) # 10
	print(res.find('d',0,5))
使用.find 查找索引 如果没有则返回-1

16.正文相关操作

1.关键字:title(首字母大写)
	res = 'my name is joker'
	print(res.title()) # My Name Is Joker

2.关键字: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]) # joker, lisa, tony
	print(l1[0:3]) # jason, joker,lisa
4.统计列表中的数据值的个数
	l1 = ['jason','joker','lisa','tony','kevin']
	print(len(l1)) # 5

image

 posted on 2022-06-26 22:30  Joker_Ly  阅读(145)  评论(0)    收藏  举报