python有七大数据类型:
(1)数字(Number):int(整型,长整型),float(浮点型),complex(复数)
(2)布尔(Boolean):True,False
(3)字符串(String):“Python”,‘python’
(4)列表(List):[1,2,3,4],[1,2,3,[1,2,3],"hello”]
(5)字典(Dictionary):{1:"hello",2:"world"}
(6)元组(Tuple):(1,2,3,“hello”,"world")
(7)集合(Set):{1,2,3,“hello”}
注:也有说python有六大数据类型,其中把布尔型放在了数字类型中。
不可变类型有4个:数字、布尔、字符串、元组
可变类型有3个:列表、字典、集合
可变数据类型是指内容可以随着函数的执行发生变化
不可变数据类型则是从初始化到结束都是不可改变的
下边来具体看一下每一种类型
一、数字(Number)
1. int (整型,长整型)
- 在python之中将整型和长整型合在了一起,在python3中只有int,没有long int 和long long int
- 可以用 sys模块的maxsize来获取系统支持的最大整数
import sys
print(sys.maxsize)
输出结果为:
9223372036854775807
2. float (浮点型)
- 浮点数可以用小数点的形式表示,
- 也可以 用科学技术法的形式表示(可以用e或者E)
例如: m = 3e2 (3e2代表3乘以10的2次方),此时m= 300
n = 3E2 (E与e的含义相同,都是表示10的多少次方),此时 n = 300
f = 0.01
m = 5e3
n = 5E3
print('f=',f,'m=',m,'n=',n)
输出的结果为:
f= 0.01 m= 5000.0 n= 5000.0
3. complex(复数)
- 复数由实数部分和虚数本分组成,在python中常用a+bj或者complex(a,b)表示,其中a表示复数的实部,b表示复数的虚部,并且复数的实部a和虚部b都是浮点型
- 用real函数获取实部值,用imag获取虚部值
- 用conjuate()求复数的共轭复数(共轭复数就是实部相同,虚部的符号相反)
c = 10 + 20j
d = complex(5, 10)
# c.real 实部 c.imag 虚部 c.conjugate 共轭复数
print(c, d, c.real, c.imag, c.conjugate())
输出的结果如下:
(10+20j) (5+10j) 10.0 20.0 (10-20j)
二、布尔(Boolean)
- 布尔类型是只有True和False两种值(注意单词首字母要大写)的数据类型。
- 常用的布尔运算包括and、or、not三种,布尔类型值可以相加,但一旦相加,类型就会转换为int类型
运算
结果
x and y
只有x和y同时为True时,结果为True
x or y
只要x和y其中一个为True时,结果为True
not x
取反,即x为True时,结果为False
a = True b = False print(a and b) print(a or b) print(not a) print(a+b) # 当两个布尔型进行算数运算时就会转换成int类型 输出结果如下: False True False 1
三、字符串类型(String)
-
String类型是我们所熟知的类型,定义字符串值的时候可以用单引号,也可以用双引号
a = 'hello'
b = "world"
print(a,b)
输出结果为:
hello world
四、列表
1. 创建列表
- 变量名 = [元素1,元素2,元素3,......,元素n]
- 列表中的数据称为列表的元素,元素之间用逗号分隔
- 同一个列表中可以有多个数据类型
- 列表中的元素是可以重复的
例如:
list1 = [1,2,3,4] 其中1,2,3,4就是列表的元素
list2 = [1,2,3,'hello',12] 同一个列表中可以有多个数据类型
list3 = [1,2,3,4,1,2,3] 列表中的元素是可以重复的
2. 列表的索引
- 列表每一个元素都对应一个整数型的索引值,可以通过索引值来得到相应的元素值。
- 列表支持元素的正向索引和反向索引。正向索引即索引值为正,从0开始;反向索引即索引值为负,从-1开始。若是反向索引,则-1为末尾元素对应的索引编号。
- 这里需要注意,正向索引值为正,从0开始,反向索引值为负,从-1 开始
list1 = [1,2,3,4,'hello']
print("列表list1的第一个值:",list1[0])
print("列表list1的最后一个值:",list1[-1])
输出结果如下:
列表list1的第一个值: 1
列表list1的最后一个值: hello
3. 列表的切片
-
列表切片是指截取列表中的分元素,将截取的元素从新生成一个子列表
-
切片是从左到右进行的
-
格式为: 新列表 = 旧列表[起始值:终止值] (需要注意的是这里的切片位置是左闭右开的,也也就是说生成的新列表包含起索引对应的元素,但不包含终止索引对应的元素)】
list1 = [1,2,3,4,5,6,7,8,9]
list2 = list1[2:6]
# 2表示起始索引值为2,此处对应的元素值为3
# 6表示终止索引值为6,此处对应的元素值为7
list3 = list1[-6:-3]
print('list2=',list2)
print('list2=',list3)
输出结果为:
list2= [