- python中所有的数据类型都是类,每一个变量都是类的“实例”。
- python有6中数据类型:数字、字符串、列表、元组、集合和字典
- 列表、元组、集合和字典可以保存多项数据,统称为数据结构类型
数字类型
整数类型、浮点数类型、复数类型、布尔类型
整数类型
为int,范围很大,只受计算机硬件限制
二进制:0b或者0B为前缀
八进制:0o或者0O为前缀
十六进制:0x或者0X为前缀
浮点型:用来存储小数,类型为float,只支持双精度浮点类型
可以用小数,也可以用科学计数法,E或e,e2表示10的2次方
复数类型为complex
布尔类型为bool,bool为int的子类,两个值 True False
任何类型都可通过 bool() 转换为布尔值,那些被认为,没有的,空的 转换为False,反之为True。如None,False,0,0.0,0j,空字符串,空[] ,{},()都装换为False
数字类型相互装换
隐式装换
在做数学计算的时候,会隐式转换
例如:bool和整数加减,会装换为整数,True转为1,False转为0
使用type()函数可以返回传入的数据类型
显式转换
int(),float(),bool()
字符串类型
字符串类型为str
字符串表达方式
- 普通字符串:单引号或者双引号包裹
- 原始字符串:在普通字符串前加 r ,字符串的特色字符不需要转译
- 长字符串:字符串包含换行缩进等排版字符,可以用三重单引号或者三重双引号
默认用单引号包裹普通字符串,字符采用unicode编码
字符串中单引号或者双引号可以不用转译,有单引号用双引号包裹,有双引号用单引号包裹
长字符串中有特色字符也需要转译
字符串格式化
使用foramt()方法以及占位符
name = 'Mary'
age = 18
s = '她的年龄是{0}岁'.format(age)
print(s)
s = '{0}的年龄是{1}岁'.format(name,age)
s = '{1}的年龄是{0}岁'.format(age,name)
s = '{n}的年龄是{a}岁'.format(n=name,a=age)
字符串可以有占位符{},配合formar() 使用,占位符可以用索引也可以用参数的名字
占位符还可以有格式化控制符,对格式化进行更精确控制
控制符 说明
s 字符串格式化
d 十进制整数
f、F 十进制浮点数
g、G 十进制整数或者浮点数
e、E 科学计数法表示浮点数
o 八进制
x、X 十六进制
格式控制符位于占位符索引或占位符名字的后面,之间用冒号分隔。
例如 {1:d} 表示索引为1的占位符格式参数是十进制整数。
name = 'Mary'
age = 19
money = 1128.26413
s = '{0}的年龄是{1:d}岁'.format(name,age)
value:'Mary的年龄是18岁'
s = '{0}的年龄是{1:5d}岁'.format(name,age)
value:'Mary的年龄是 18岁' 5d输出长度为5的字符串,不足空格补齐
s = '{0}的收入是{1:f}'.format(name,money)
value:'Mary的收入是1128.234130'
s = '{0}的收入是{1:.2f}'.format(name,money)
value:'Mary的收入是1128.27' 小数位保留两位四舍五入
s = '{0}的收入是{1:10.2f}'.format(name,money)
value:'Mary的收入是1128.27' 总长度10,不足空格补位
s = '{0}的收入是{1:g}'.format(name,money)
value:'Mary的收入是1128.27'
字符串查找
在给定的字符串中查找子字符串
字符串类str中提供了find和rfind的方法用于查找子字符串,返回值是子字符串的位置,没有返回 -1
str.find(sub,start,end) 从左开始查找,start和end可以不要,返回索引
str.rfind(sub,start,end) 从右开始查找,start和end可以不要,返回索引
s_str = 'There is a string accessing example.'
len(s_str) 36
s_str[16] g
s_str.find('r') 3
s_str.rfind('r') 13
s_str.find('ing') 14
s_str.rfind('ing') 3
s_str.find('r',2) 3
s_str.find('r',2,4) 3
函数的方法的区别
- 方法是定义在类中的函数,在类的外部调用需要通过类或对象调用
- 函数不是定义在类中,称为顶层函数,不属于任何类
字符串和数字的相互转换
字符串到数字:int() float()
int(‘16’) 16
int(‘AB’,16) 171 转为16进制
数字到字符串:str()
str(2.34)
str(True) ‘True’
str([]) ‘[]’
字符串格式化:
‘{0:.2f}’.format(2.345) ‘2.34’
‘{0:5.1f}’.format(2.345) ’ 2.3’
本文深入讲解Python中的数据类型,包括数字、字符串、列表、元组、集合和字典。探讨了每种类型的特性,如数字类型的进制表示,字符串的格式化及查找方法,以及不同类型之间的转换。
7830

被折叠的 条评论
为什么被折叠?



