文章目录
- 一、python 数据类型介绍
- 二、基本数据类型
- 2.1 Numbers(数字类型)
- 2.2 String(字符串类型)
- 2.2.1 不同引号字符串之间的区别
- 2.2.2 转义字符和 python 输出函数
- 2.2.3 字符串的相关操作(字符串拼接、占位符、字符串格式化、字符串复制)
- 2.3 布尔值和空值
- 三、基本数据类型的相关操作函数
- 3.1 类型检查 type() :获取当前变量对应的值的数据类型
- 3.2 基本数据类型的数据类型转换函数
- 3.2.1 类型转换的相关函数说明(JAVA中叫“方法”,python中叫“函数”)
- 3.2.2 类型转换的注意事项
- 四、特殊数据类型
- 4.1 List 列表
- 4.2 Tuple元组
- 4.3 Dictionary字典
一、python 数据类型介绍
-
在Python里,变量是没有数据类型的,我们所说变量的数据类型,其实是变量对应的值的数据类型
二、基本数据类型
2.1 Numbers(数字类型)
-
int 类型:整数
-
Python中的整数的大小没有限制,可以是一个无限大的整数
-
如果数字的长度过大,可以使用下划线作为分隔符
-
代码写法:
a = 10
- 通过上方代码示例可以看出并没有刻意的声明变量的类型,直接通过赋值确认该变量是什么类型的数据
-
-
-
float类型:浮点数(小数)
-
在Python中所有的小数都是float类型
-
对浮点数进行运算时,可能会得到一个不精确的结果如下所示
-
代码:
c = 0.1 + 0.2
-
结果:0.30000000000000004
-
-
2.2 String(字符串类型)
-
str类型:字符串
-
字符串可以理解为一段普通的文本内容,在python里,使用引号来表示一个字符串,不同的引号表示的效果会有区别。 这些引号不可相互混用,只能是单种引号成对出现
-
单引号字符串代码:
s = '姚青今年999岁了'
-
双引号字符串代码:
s = "姚青今年999岁了"
-
三单引号字符串代码:
s = '''姚青今年999岁了'''
-
三双引号字符串代码:
s = """姚青今年999岁了"""
-
单双引号相互引用字符串代码:如果需要输出或者保留字符串的引号可以使用这种写法
-
单引号在外侧,保留内部双引号:
s = "'姚青今年999岁了'"
-
双引号在外侧,保留内部单引号:
a = "'姚青今年999岁了'"
-
-
如果混用了会报出该异常:SyntaxError: EOL while scanning string literal
-
-
2.2.1 不同引号字符串之间的区别
-
单引号引用字符串
- 单引号引用的字符串不可换行,如果换行会报错
- 单引号引用的字符串不可换行,如果换行会报错
-
双引号引用字符串
- 双引号引用的字符串不可换行,如果换行会报错
- 双引号引用的字符串不可换行,如果换行会报错
-
三引号引用字符串
- 三重引号可以换行,并且会保留字符串中的格式
- 三重引号可以换行,并且会保留字符串中的格式
2.2.2 转义字符和 python 输出函数
- print(): 将被函数包裹的内容打印到控制台上
- input(): 在控制台生成个文本框,需要输入内容回车会在控制台上打印输入内容
- 输出内容为 String 类型
2.2.3 字符串的相关操作(字符串拼接、占位符、字符串格式化、字符串复制)
-
字符串拼接:“ + ”和 “,”
-
# 字符串拼接a = 'asc'b = '''456'''c = "999"print(a+b+c)d = 123# print(a+b+c+d) 因为报错注释# 当数据类型不一致时直接拼接会报错:TypeError: can only concatenate str (not "int") to str#解决方法:通过逗号去拼接,结果为:asc456999 123print(a+b+c,d)
-
-
字符串中的占位符:在占位符位置将之后通过%拼接的内容更替过来
-
%s 在字符串中表示任意字符
-
b = '姚青今年%s岁 '%'999'print(b)b = '打野玩的好叫野王 %s 我辅助玩的好能叫我一声 %s吗'%('法师玩的好叫法王','父王')print(b)b = '姚青, %3s'%'asfafsfasfa'print(b)#表示最低3长度 如果没有就用空格代替b = '姚青, %3.5s'%'asfasfasdfadsf。'print(b)#%3.5字符串的长度限制在3-5之间
- 运行结果:
-
-
%f 浮点数占位符:还可以通过.0~9这个范围保留小数后的位数
-
b = 'Hello %f'%123.456 print(b)b = "Hello %.2f" %123.456 #保留小数点后两位小数,其余抹去print(b)
- 运行结果:
-
-
%d 整数占位符
-
b = "Hello %d"%123print(b)
- 运行结果:
-
-
%nd 打印时,显示n位,如果不够,在前面使用空格补齐
-
b = 'Hello %3d'%1 # 默认左边加3个空格 print(b)b = 'Hello %-3d'%1 # 右边加3个空格 print(b)b = 'Hello %03d'%1 # 以0进行补齐位数(0~3位)print(b)
- 运行结果:
-
-
%o 或者 %O 将整数使用八进制输出
-
a = 10print('%o'%a)
-
-
%x 或者 %X 将整数使用十六进制输出
-
a = 10print('%x'%a)
-
-
-
格式化字符串:可以将字符串与变量之间进行拼接
-
格式化字符串,可以通过在字符串前添加一个 f 来创建一个格式化字符串
-
在格式化字符串可以直接嵌入变量
-
a = 1b = 2c = f'Hello {a} {b}'print(f'c={c}')
-
-
-
字符串复制:字符串的复制(将字符串和数字相乘)
-
a='abc' #在语言中表示乘法 a*2 #这样是没用了因为还是表达式 需要做的时 把表达式生成的结果给一个变量 a=a*2
- 如果将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回
-
2.3 布尔值和空值
-
布尔值(boolean-bool)
- 布尔值主要用来做逻辑判断的,布尔值就二个分为True(真) 和 False(假)
-
空值None
- None(空值),None专门用来表示不存在
三、基本数据类型的相关操作函数
3.1 类型检查 type() :获取当前变量对应的值的数据类型
- type(): 返回当前数据的数据类型
-
c = type(123)print(c)print(type(1))print(type(1.5))print(type(True))print(type('hello'))print(type(None))
- 运行结果:
-
3.2 基本数据类型的数据类型转换函数
-
类型转换 将一个类型的数据转换为其他类型的数据
3.2.1 类型转换的相关函数说明(JAVA中叫“方法”,python中叫“函数”)
-
类型转换的相关函数
函数 | 说明 |
---|---|
int(x[,base]) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象x转换为字符串 |
bool(x) | 将对象x转换成为布尔值 |
-
int(x[,base])函数代码示例如下:
-
#age = input("请输入您的年龄:")#print(type(age))#print(age+1)# 输入年龄之后回车,运行报错:因为input函数输出的内容为 String 类型数据,String与int类型数据相加,类型不匹配报错#使用int()函数包裹输入框,将输出内容转换为int整数类型age = int(input("请输入您的年龄:"))print(type(age))print(age + 1)
- 输出结果:
-
-
float(x)函数代码示例如下:
-
a = '12.34'b = float(a)print(type(b))print(b+1)
- 输出结果:
-
-
str(x)函数代码示例如下:
-
a = 999b = str(a)print(type(b))print(b)
- 输出结果:
-
-
bool(x)函数代码示例如下:
-
a = "true"b = bool(a)print(type(b))print(b)
- 输出结果:
-
3.2.2 类型转换的注意事项
- 1、类型转换之后的数据必须与当前需要转换的类型符合
- 比如:‘111’ 字符串可以转换成int类型,因为转换完成之后该字符串就是数字,如果是 ‘aaa’ 便不行
四、特殊数据类型
4.1 List 列表
-
List 列表:该数据类型定义的变量可以理解为是一个数据的集合,可以有序的存储一些数据,并且没有数据类型的要求,可以多种数据类型同时存储。(相当于Java 中的数组)
- 语法格式
-
a = [1]b = [a,1,'abc',True,1.23]print(b)
- 运行结果:
-
- 语法格式