Python数据类型简介

Python数据类型简介

python中的数据类型分别有:int、long、float、complex、字符串、列表、元组、集合、字典、布尔类型

int与long

在python3.x之后已经不区分int和long了,统一使用int

int的默认大小取决于你的CPU的体系
例如:
32位系统,整数的默认数据类型为'Int32'
64位系统,整数的默认数据类型为'Int64'
如果定义的int类型的值超过了上述限制,python会自动更改其类型并分配更多内存以处理此最小值/最大值的增加

Int8:[-128,127]
Int16:[-32768,32767]
Int32:[-2147483648,2147483647]
Int64:[-9223372036854775808,9223372036854775807]
Int128:[-170141183460469231731687303715884105728,170141183460469231731687303715884105727]
UInt8:[0,255]
UInt16:[0,65535]
UInt32:[0,4294967295]
UInt64:[0,18446744073709551615]
UInt128:[0,340282366920938938463463374607431768211455]

>>> x = 10
>>> type(x)
<class 'int'>

float类型

与其他语言类似,float表示浮点型
浮点数与定点数是相对的,小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数

python中的小数有两种书写方式,十进制形式与指数形式

十进制形式

就是我们平时看到的小数的形式,例如3.1415926
定义小数时必须包含一个小数点,否则会被python当做整数处理

>>> x = 3.1415926
>>> type(x)
<class 'float'>

指数形式

python的小数的指数形式的写法为:
aEn 或者 aen
a为尾数部分,是一个十进制的数;n为指数部分,是一个十进制的整数;e或E是固定的字符,用于分割尾数部分和指数部分。整个表达式等价于a*10n

3.1E5 = 3.1 * 105
2.5E-2 = 2.5 * 10-2

注意: 只要写成指数形式就是小数,即使它的最终值看起来是一个整数,比如14E3等价于14000,但14E3是一个小数

>>> x = 0.0000000000000000000000000000008
>>> print(x)
8e-31
>>> type(x)
<class 'float'>

>>> x = 14E3
>>> print(x)
14000.0
>>> type(x)
<class 'float'>

complex类型

复数,是python的内置类型
复数由实部(real)和虚部(imag)构成,在python中,复数的虚部以j或J作为后缀,具体格式为:a + bJ

>>> x = 13 + 0.3j
>>> y = 6 + 1.5j
>>> type(x)
<class 'complex'>
>>> type(y)
<class 'complex'>
>>> print(x,y)
(13+0.3j) (6+1.5j)

#可以对复数进行简单的计算
>>> print(x + y)
(19+1.8j)
>>> print(x * y)
(77.55+21.3j)

字符串类型

字符串声明

字符串的声明方式一共有三种:单引号、双引号、三引号

>>> str1 = 'hello'
>>> str2 = "helllo"
>>> str3 = '''hellllo'''
>>> str4 = """helllllo"""

>>> print (str1)
hello
>>> print (str2)
helllo
>>> print (str3)
hellllo
>>> print (str4)
helllllo

>>> type(str1)
<class 'str'>
>>> type(str2)
<class 'str'>
>>> type(str3)
<class 'str'>
>>> type(str4)
<class 'str'>

字符串骚操作

连接

符号 +

>>> str1 = "杜建国"
>>> str2 = "真帅!"
>>> print(str1+str2)
杜建国真帅!

复制

符号 *

>>> str1 = "NB"
>>> num = 3
>>> print(str1 * num)
NBNBNB

索引

符号 []

>>> str1 = "abcdefg"
>>> print(str1[3])
d

切片

符号 [::]

>>> str1 = "abcdefghijk"
>>> print (str1)
abcdefghijk

#取字符串索引0-3的内容(顾头不顾尾,不包含索引3的对象)
>>> print(str1[:3])
abc

#取字符串索引0-5的内容,每2个索引取一次
>>> print(str1[:5:2])
ace

#取字符串索引从3开始到结尾的内容
>>> print(str1[3:])
defghijk

#取字符串倒数第四开始到结尾的内容
>>> print(str1[-4:])
hijk

列表类型

列表是一个有序且可更改的集合,用方括号编写
其元素可以是数字、字符串等基本类型,也可以是列表、元组、字典等集合对象
列表有索引,可以以索引的方式访问列表

>>> list1 = ["张三","李四","王二狗"]
>>> type(list1)
<class 'list'>
>>> print(list)
<class 'list'>
>>> print(list1)
['张三', '李四', '王二狗']

可以对列表的字段进行增删改查操作

1、增

>>> print(list1)
['张三', '李四', '王二狗']
#起始位置和结束位置必须一致
>>> list1[0:0] = ["谁啊"]
>>> print(list1)
['谁啊', '张三', '李四', '王二狗']

2、删

1、删除单个
>>> list1 = ["1","2","3","4","5"]
>>> print(list1)
['1', '2', '3', '4', '5']
>>> del list1[1]
>>> print(list1)
['1', '3', '4', '5']

2、删除多个
>>> list1 = ["1","2","3","4","5"]
>>> del list1[0:4]
>>> print(list1)
['5']

3、删除奇数位
>>> list1 = ["1","2","3","4","5"]
>>> del list1[::2]
>>> print(list1)
['2', '4']

4、删除偶数位
>>> list1 = ["1","2","3","4","5"]
>>> del list1[1::2]
>>> print(list1)
['1', '3', '5']

3、改

1、修改单个元素
>>> list1 = ["张三","李四","王二狗"]
>>> list1[2] = "当归"
>>> print(list1)
['张三', '李四', '当归']

2、修改多个元素
>>> list1 = ["张三","李四","王二狗"]
>>> list1[0:1] = ["景天","徐长卿"]
>>> print(list1)
['景天', '徐长卿', '李四', '王二狗']

4、查

获取单个:list1[0],获取第一个元素
获取单个:list1[-1],获取倒数第一个元素
获取多个:list1[0:3],获取下标0开始到下标3结束的元素;
list1[:2],从第一个元素获取到下标为2的元素
list1[2:],从下标为2的元素获取到最后一个元素

>>> print(list1)
['景天', '徐长卿', '李四', '王二狗']
>>> print(list1[0])
景天
>>> print(list1[-1])
王二狗
>>> print(list1[0:3])
['景天', '徐长卿', '李四']
>>> print(list1[:2])
['景天', '徐长卿']
>>> print(list1[2:])
['李四', '王二狗']

5、遍历
使用for循环,遍历list列表的元素

>>> print(list1)
['景天', '徐长卿', '李四', '王二狗']
>>> for name in list1:
...     print(name)
...
景天
徐长卿
李四
王二狗

6、list运算

符号 list运算
+ 两个list列表进行相加
* list列表复制
in 检查list列表是否包含该元素
not in 检查list列表是否不包含改元素

7、list函数

符号 list函数 格式
len() 求list列表长度 len(list)
min() 求list列表中最小元素 min(list)
max() 求list列表中最大元素 max(list)

8、list方法
PS:list方法使用规则:
列表名.方法()
例如:list1.append("王建国")

list方法 说明
.append(元素) 向列表最后追加一个元素
.extend([元素1,元素2]) 向列表最后追加多个元素
.insert(下标,元素) 向指定的下标位置插入元素
.pop(下标) 移除指定下标的元素,如果没有指定下标,默认移除最后一个元素
.remove(元素) 删除指定元素
.clear() 清空list列表
.index(元素) 获取指定元素在list列表中第一次出现的下标
.count(元素) 统计元素在list列表中出现的次数
.reverse() 反转list列表
.sort() 排序,默认升序,降序添加参数reverse=True

元组类型

是一个不可变序列,有索引
使用()创建元组,多个值之间用,隔开
()可以省略不写,但是当元组中只有一个元素时必须使用

>>> tuple1 = ("ww","ee","rr","dd","ff")
>>> type(tuple1)
<class 'tuple'>
>>> print(tuple1)
('ww', 'ee', 'rr', 'dd', 'ff')
>>> print(tuple1[0:3])
('ww', 'ee', 'rr')

集合类型

集合是无序无索引的集合,使用{}创建集合

set方法 说明
.add() 添加元素
.pop() 随机删除元素
.remove(元素) 删除指定元素
.clear() 清空集合
>>> set1 = {"张三","李四","王二狗"}
>>> type(set1)
<class 'set'>
>>> print(set1)
{'李四', '王二狗', '张三'}

#添加元素
>>> set1.add("小张")
>>> print(set1)
{'李四', '小张', '王二狗', '张三'}

#随机删除元素
>>> set1.pop()
'李四'
>>> print(set1)
{'小张', '王二狗', '张三'}

#删除指定元素
>>> set1.remove("小张")
>>> print(set1)
{'王二狗', '张三'}

#清空集合
>>> set1.clear()
>>> print(set1)
set()

字典类型

以“键值对”的形式存放数据,key不能重复
字典的key可以是任何一种不可变类型,例如字符串、元组等

>>> dic1 = {"name": "张三","age": 16,"sex": "女"}
>>> type(dic1)
<class 'dict'>
>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女'}

可以对字典的键值对进行增删改查的操作
1、增

#对不存在的key直接赋值
>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女'}
>>> dic1["num"] = 3
>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女', 'num': 3}

2、删

>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女', 'num': 3}
>>> del dic1["num"]
>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女'}

3、改

#对已有key直接赋值
>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女'}
>>> dic1["name"] = "相泽南"
>>> print(dic1)
{'name': '相泽南', 'age': 16, 'sex': '女'}

4、查

>>> print(dic1)
{'name': '张三', 'age': 16, 'sex': '女'}
>>> dic1["name"] = "相泽南"
>>> print(dic1)
{'name': '相泽南', 'age': 16, 'sex': '女'}
>>> print(dic1.get("age"))
16
>>> print(dic1["name"])
dictionary方法 说明
.popitem() 随机删除一个
.pop(key) 删除指定的key
.clear() 删除所有的
.keys() 获取所有的键
.values() 获取所有的值
.ltems() 获取所有的键值对

布尔类型

True & False

posted @ 2022-10-13 21:56  大胡萝卜没有须  阅读(882)  评论(0编辑  收藏  举报