数据类型
数字
整数-int,bool
# 在Python中,有2种整数类型:int和bool
# int
-1,1,0,999 # 10进制的整数类型,通常我们用的最多的
-0b11 # 0b打头表示2进制,符号可以加在0b前面
0o7 # 0o打头表示8进制
0xa # 0x打头表示16进制
100_000_000 # 可以使用下划线分割数字,这点很帅气,大数字的时候可读性大大的增加了
# bool
True # 非零值 ※任何非零值都被认为True,但是True转换成整数就是1
False # 零值
浮点数-float
# 带小数点的被成为浮点数类型-float
# 下面是几种浮点数的表示方法
1. # 等同于1.0
1.0,-1.1 # 常用的写法
1.1e-1 # 科学计数法 等于0.11
1.1e1 # 科学计数法 等于11.0
复数-complex
1+1j #+前面的代表实部,j前面的数字代表虚部
a = 1+1j
a.real # .real 获取复数的实部
a.imag # .imag 获取复数的虚部
序列
immutable序列(即值创建后不可更改)
字符串类型-str
# 字符串类型,python没有字符类型,字符串是immutable的
'123' # 可以用单引号表示
"123" # 可以用双引号表示
'this\'s a quote sample' #通过转义字符单引号里表示单引号
"this's a sample" #不通过转义字符
# 字符串前加上u,代表用unicode编码,比如有中文,日文,韩文等字符的时候,用这个可以防止乱码
u'我是中文呀'
# 字符串前加上r,代表不转义字符,当使用正则表达式的时候配合使用这个
r'this is\" another sample '
字节-bytes
# 字符串前面加上b,代表用bytes对象,主要用于网络数据传送的时候
b'<h1>This is a respnse</h1>'
b'你好' # 会出错,只能是asci编码字符
a = '你好'
b = a.encode('utf-8') # 通过encode函数可以让str -> byte
b.decode('utf-8') # 通过decode函数可以让byte -> str
元祖类型-tuple
#元祖类型用()来表示,元祖里面的数组类型可以不一致
(1,2,3,4) # tuple内部元素的类型一致
(1,1.1,True,'STR') # tuple内部元素的类型不一致
() # 空的tuple
mutable序列(即值创建后仍可更改)
列表类型-list
#列表类型用[]来表示,列表里面的数据类型可以不一致
[1,2,3,4] # list内部元素的类型一致
[1,1.1,True,'STR'] # list内部元素的类型不一致
[] # 空的list
字节串数组-byte array
# 通过bytearray函数创建对象
序列通用操作
# len函数获取长度
a = '123456'
l = len(a)
# 可以通过索引访问序列内的对象,索引默认从0开始
a[0] # '1'
# 索引也可是负数,代表从最后面开始
a[-1] # '6'
# 序列可以使用切片 a[i:j:k]
a[1:6:2]
集合
Set(Mutable)
# 集合也是用{}来表示,集合里面的数值不会重复
# 集合不能用下标来获取指定值,Set是mutable的
set() # 空的集合必须用set函数
set([1,2,2,1]) # 集合的内容{1,2}
Frozen Set(Immutable)
# 集合也是用{}来表示,集合里面的数值不会重复
# 集合不能用下标来获取指定值,Frozenset是immutable的
forzenset() # 空的集合必须用set函数
forzenset([1,2,2,1]) # 集合的内容{1,2}
映射
字典类型-dictonary
#字典类型用{}来表示,字典里面的数组类型可以不一致
#字典的存储形式是Key-Value形式,Key是
{} #空的字典
{'name':'Major','age':27,3:123} #3个Key-Value