1)在数字中,正整数、0、负整数都称为整型。
举例1:
intvar1=100
print(type(intvar1))
运行结果:
2)二进制整型
也可以用二进制表示整型,print自动转换为十进制。
举例1:
intvar2=0b1010
print(intvar2)
print(type(intvar2))
运行结果:
10
1)含有小数点的数据都是浮点型。
举例1:
floatvar1=3.14
print(floatvar1,type(floatvar1))
运行结果:
3.14
2)科学计数法
举例1:
floatvar2 = 3.456e5 #小数点向右移动5位
print(floatvar2,type(floatvar2))
运行结果:
345600.0
布尔型数据只有两种:True、False。表示真假。
举例1:
boolvar1 = True
print (boolvar1,type(boolvar1))
运行结果:
True
复数为实数加虚数,只要存在虚数,此数据类型就为复数类型。
表达方法1:
complexvar1 = 3-91j
print (complexvar1,type(complexvar1))
运行结果:
(3-91j)
表达方法2:
语法:complex(实数,虚数)
complexvar2 = complex(3,-91)
print (complexvar2,type(complexvar2))
运行结果:
(3-91j)
1)字符串:str
用引号引起来的就是字符串。
可用:单引号、双引号、三引号
举例1:
strvar1 = 'abc'
strvar2 = "abc,文字"
strvar3 = """
转义字符:\ + 字符
(1)把无意义的字符变的有意义
(2)把有意义的字符变的无意义
\\n:换行
\\r\\n:换行
\\t:缩进(tab,水平制表符)
\\r:把\\r后面的字符串直接拉到当前行行首
"""
print (strvar1,type(strvar1))
print (strvar2,type(strvar2))
print (strvar3,type(strvar3))
2)元字符串 r+字符串==>表示不转字符,原型化输入字符串。(相当于字符串中给所有特殊意义的字符加了转义符)
举例1:
strvar1=r"C:\Users"
print(strvar1)
运行结果:
C:\Users
1)列表:list
1.1)列表创建
举例1:
#创建一个空列表
list1=[]
#定义一个普通列表
list2=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
print("list2的元素是",list2,
"\n显示该函数数据结构类型",type(list2))
运行结果:
list2的元素是 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
显示该函数数据结构类型
举例1:
lists=[[1,2],['a','b']]
print("多维列表:",lists,
"\n显示该函数数据结构类型",type(list2))
运行结果:
多维列表: [[1, 2], [‘a’, ‘b’]]
显示该函数数据结构类型
1.2)列表查询
正向索引下标:
列表元素从左到右依次为:0、1、2、3……
逆向索引下标
列表元素从右向左依次为:-1、-2、-3、-4、-5……
举例1:
list2=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
print("\n列表切分",list2[1:8],
"\n固定步长访问",list2[::2],
"\n从后往前访问",list2[-3])
运行结果:
列表切分 [2, 3, 4, 5, 6, 7, 8]
固定步长访问 [1, 3, 5, 7, 9, 11, 13, 15]
从后往前访问 13
举例2:当列表很长的时,要获取列表中最后一个元素,一种方法是使用逆向索引下标,另一种方法是使用len函数获取容器类型数据总长度。
list2=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
print("取列表中最后一个元素",list2[len(list2)-1])
运行结果:
取列表中最后一个元素 15
1.3)列表元素增加
举例1:
#增加一个元素
list1=[1,2,3,4,5,6]
list1.append(11)
print("增加元素后的列表",list1)
#增加一个list
lists=[[1,2],['a','b']]
lists.append(["hello",5])
print("增加列表后的列表",lists)
运行结果:
增加元素后的列表 [1, 2, 3, 4, 5, 6, 11]
增加列表后的列表 [[1, 2], [‘a’, ‘b’],[‘hello’, 5]]
1.4)列表元素删除
举例1:
#删除list1列表中的元素5
list1=[1,2,3,4,5,6]
list1.remove(5)
#删除lists列表对象的最后一个元素
lists=[[1,2],['a','b']]
lists.pop()
print("删除指定下标元素后的列表对象",list1,
"\n删除最后一个元素的列表对象",lists)
运行结果:
删除指定下标元素后的列表对象 [1, 2, 3, 4, 6]
删除最后一个元素的列表对象 [[1, 2]]
1.5)列表元素修改
举例1:
list1=[1,2,3,4,5,6]
list1[1]=100
print("修改后的列表为",list1)
运行结果:
修改后的列表为 [1, 100, 3, 4, 5, 6]
1.6)列表相关函数
举例1:
list1=[1,2,3,4,5,6]
list1.reverse()
print("倒置后的列表是",list1)
list1.sort()
print("len统计列表元素的个数",len(list1),
"\nsort列表升序排列",list1)
运行结果:
倒置后的列表是 [6, 5, 4, 3, 2, 1]
len统计列表元素的个数 6
sort列表升序排列 None
1)元组:tuple
1.1)元组创建
举例1:
tup1=('google','runoob',1997,2000)
tup2=(2,)
tup3="a","b","c","d"
tup4=()
print('tup1的元素是',tup1,
'\n显示该数据结构类型',type(tup1),
'\ntup2的元素是',tup2,
'\n显示该数据结构类型',type(tup2),
'\ntup3的元素是',tup3,
'\n显示该数据结构类型',type(tup3),
'\ntup4的元素是',tup4,
'\n显示该数据结构类型',type(tup4))
运行结果:
tup1的元素是 (‘google’, ‘runoob’, 1997, 2000)
显示该数据结构类型
tup2的元素是 (2,)
显示该数据结构类型
tup3的元素是 (‘a’, ‘b’, ‘c’, ‘d’)
显示该数据结构类型
tup4的元素是 ()
显示该数据结构类型
1.2)元组查询
访问元组可以使用下标索引来访问元组中的值
正向索引下标:
从左到右依次为:0、1、2、3……
逆向索引下标
从右向左依次为:-1、-2、-3、-4、-5……
举例1:
tup1=('google','runoob',1997,2000)
print("元组切分",tup1[1:4],
"\n从前往后访问",tup1[0],
"\n从后往前访问",tup1[-3])
运行结果:
元组切分 (‘runoob’, 1997, 2000)
从前往后访问 google
从后往前访问 runoob
1.3)元组删除
举例1:
tup1=('google','runoob',1997,2000)
del tup1[0] #报错
del tup1
print("删除后的元组 tup:")
print(tup1)
1.4)元组连接与复制
举例1:
tup1=('google','runoob',1997,2000)
tup2=(2,3)
tup3=tup1+tup2
print("使用+进行操作连接",tup3)
tup4=tup2*3
print("使用*进行复制操作",tup4)
运行结果:
使用+进行操作连接 (‘google’, ‘runoob’, 1997, 2000, 2, 3)
使用*进行复制操作 (2, 3, 2, 3, 2, 3)
1.5)元组相关函数
举例1:
tup1=('google','runoob',1997,2000)
tup2=(2,3,33,55,100)
print("计算元组的元素个数",len(tup1),
"\n求元组的最大元素",max(tup2),
"\n求元组的最小元素",min(tup2))
运行结果:
计算元组的元素个数 4
求元组的最大元素 100
求元组的最小元素 2
1)字典:dict
1.1)字典创建
举例1:生成一个空字典和一个普通字典。
dict1={"id":"l100","name":"cooc"}
dict2={}
print("显示该数据结构类型",type(dict1))
运行结果:
显示该数据结构类型
举例2:zip()方法可以返回元组组成的列表,这可以帮助我们快速构建字典。
demo_dict=dict(zip("abc","123"))
print("显示字典数据形式",demo_dict,
"\n显示该数据结构类型",type(demo_dict))
运行结果:
显示字典数据形式 {‘a’: ‘1’, ‘b’: ‘2’, ‘c’: ‘3’}
显示该数据结构类型
1.2)字典查询
举例1:
dict1={"id":"l100","name":"cooc"}
#查找id键的值
print("常规查询:",dict1["id"])
print("根据键查询:",dict1.get("id"))
运行结果:
常规查询: l100
根据键查询: l100
1.3)字典增加
举例1:
dict1={"id":"l100","name":"cooc"}
dict1["school"]="school1"
print("增加一个键值对:",dict1)
运行结果:
增加一个键值对: {‘id’: ‘l100’, ‘name’: ‘cooc’, ‘school’: ‘school1’}
1.4)字典删除
举例1:
dict1={"id":"l100","name":"cooc"}
del dict1[id]
print("删除id键后字典:",dict1)
dict1={"id":"l100","name":"cooc"}
dict1.pop('id')
print("删除id键后字典:",dict1)
运行结果:
{‘name’: ‘cooc’}
1.5)字典修改
举例1:
dict1={"id":"l100","name":"cooc"}
dict1["id"]="001"
print("修改id键对应的值后的dict1:",dict1)
dict1={"id":"l100","name":"cooc"}
dict1.update({"name":"lily"})
print("修改name对应的值后的后dict1:",dict1)
运行结果:
修改id键对应的值后的dict1: {‘id’: ‘001’, ‘name’: ‘cooc’}
修改name对应的值后的后dict1: {‘id’: ‘l100’, ‘name’: ‘lily’}
1)集合:set
1.1)集合创建
-集合的创建,集合是数学概念上集合,不会出现重复值,所有的元素按照一定顺序排列,若元素为数字则按照数字大小排列。使用set()函数创建集合会自动地拆分多个字母组成的字符串。
举例1:
mySet1=set("abcgefa12312123")
mySet2={"大","小","点","多"}
mySet3=set(("hello","world"))
print("集合1",mySet1,
"\n显示该数据结构类型",type(mySet1),
"\n集合2",mySet2,
"\n集合3",mySet3)
运行结果:
集合1 {‘g’, ‘3’, ‘b’, ‘2’, ‘f’, ‘a’, ‘1’, ‘e’, ‘c’}
显示该数据结构类型
集合2 {‘小’, ‘点’, ‘多’, ‘大’}
集合3 {‘hello’, ‘world’}
1.2)集合查询
举例1:
mySet={"a","b","c","d","e","f"}
"a" in mySet
运行结果:
True
1.3)集合元素增加
举例1:
mySet={"a","b","c","d","e","f"}
mySet.add("ghk")
mySet.add("a")
print("add()后的集合",mySet)
mySet.update("tyu")
print("update()后的集合",mySet)
运行结果:
add()后的集合 {‘d’, ‘b’, ‘f’, ‘a’, ‘ghk’, ‘e’, ‘c’}
update()后的集合 {‘d’, ‘b’, ‘t’, ‘f’, ‘a’, ‘ghk’, ‘e’, ‘u’, ‘y’, ‘c’}
1.4)集合元素删除
举例1:
mySet={"a","b","c","d","e","f"}
mySet.remove("a")
print("删除指定元素后的集合",mySet)
mySet.discard("x")
print("删除不存在的元素后的集合",mySet)
mySet.pop()
print("随机删除元素后的集合",mySet)
mySet.clear()
print("删除所有元素后的集合",mySet)
运行结果:
删除指定元素后的集合 {‘d’, ‘b’, ‘f’, ‘e’, ‘c’}
删除不存在的元素后的集合 {‘d’, ‘b’, ‘f’, ‘e’, ‘c’}
随机删除元素后的集合 {‘b’, ‘f’, ‘e’, ‘c’}
删除所有元素后的集合 set()
1.5)集合相关函数
举例1:
mySet={"a","b","c","d","e","f"}
copy_mySet=mySet.copy()
print("len()返回集合的长度",len(mySet),
"\ncopy()生成的集合",copy_mySet)
运行结果:
len()返回集合的长度 6
copy()生成的集合 {‘f’, ‘d’, ‘a’, ‘b’, ‘e’, ‘c’}
举例2:
a=set("apple")
b=set("banana")
print("求差集",a-b,
"\n求并集",a|b,
"\n求交集",a&b,
"\n求非交集",a^b)
运行结果:
求差集 {‘p’, ‘e’, ‘l’}
求并集 {‘p’, ‘a’, ‘l’, ‘n’, ‘e’, ‘b’}
求交集 {‘a’}
求非交集 {‘l’, ‘b’, ‘n’, ‘p’, ‘e’}
Python中的数据类型转换有两种,一种是自动类型转换,即Python在计算中会自动地将不同类型的数据转换为同类型数据来进行计算;另一种是强制类型转换,即需要我们基于不同的开发需求,强制地将一个数据类型转换为另一个数据类型。
当两个不同类型的数据进行运算时,结果会像更高精度进行计算,精度等级:布尔<整型<浮点型<算数。
举例1:
a=10
b=True
print(a+b)
'''
在和数字运算时,True转为1,False转为0
'''
运行结果:
11
函数 | 说明 |
---|---|
str( ) | 可以把其他类型数据转化为字符串类型 |
int( ) | 可以把其他类型数据转化为整型 |
float( ) | 可以把其他类型数据转化为浮点型 |
bool( ) | 可以把其他类型数据转化为布尔类型 |
list( ) | 可以把其他类型数据转化为列表类型 |
tuple( ) | 可以把其他类型数据转化为元组类型 |
dict( ) | 可以把其他类型数据转化为字典类型 |
set( ) | 可以把其他类型数据转化为集合类型 |
举例1:
a=123
res=str(a)
print(res,type(res))
输出结果:
123
举例1:
a=True
res=str(a)
print(res,type(res))
输出结果:
True
举例1:
a=1.23
res=str(a)
print(res,type(res))
输出结果:
1.23
举例1:
a=3-91j
res=str(a)
print(res,type(res))
a=complex(3,-91)
res=str(a)
print(res,type(res))
输出结果:
(3-91j)
(3-91j)
举例1:
a=[1, 2, 3]
res=str(a)
print(res,type(res))
输出结果:
[1, 2, 3]
举例1:
a=(1, 2, 3)
res=str(a)
print(res,type(res))
输出结果:
(1, 2, 3)
举例1:
a= {1: 'a', 2: 'b'}
res=str(a)
print(res,type(res))
输出结果:
{1: ‘a’, 2: ‘b’}
举例1:
a={1, 2, 3}
res=str(a)
print(res,type(res))
输出结果:
{1, 2, 3}
总结
数字类型之间相互转换
举例1:
a=123
res1=float(a)
res2=bool(a)
res3=complex(a)
print(res1,type(res1),
"\n",res2,type(res2),
"\n",res3,type(res3))
123.0
True
(123+0j)
举例1:
b=True
res1=int(b)
res2=float(b)
res3=complex(b)
print(res1,type(res1),
"\n",res2,type(res2),
"\n",res3,type(res3))
输出结果:
1
1.0
(1+0j)
举例1:
c=1.23
res1=int(c)
res2=bool(c)
res3=complex(c)
print(res1,type(res1),
"\n",res2,type(res2),
"\n",res3,type(res3))
输出结果:
1
True
(1.23+0j)
举例1:
d=9-3j
res1=int(d)
#res2=float(d) #报错
#res3=bool(d) #报错
print(res3,type(res3))
输出结果:
True
str-> 数字类型
举例1:
#str
a="123"
res=int(a)
print(res,type(res))
输出结果:
123
举例1:
a="123"
res=float(a)
print(res,type(res))
输出结果:
123.0
举例1:
a="123"
res=bool(a)
print(res,type(res))
输出结果:
True
a="123"
res=complex(a)
print(res,type(res))
#(123+0j)
a="1.23"
res=complex(a)
print(res,type(res))
#(1.23+0j)
a="123.0"
res=complex(a)
print(res,type(res))
#(123+0j) ,去掉小数部分
a="12+3j"
res=complex(a)
print(res,type(res))
#(12+3j)
a="12.0+3.0j"
res=complex(a)
print(res,type(res))
#(12+3j) ,去掉小数部分
a="12.0+3.9j"
res=complex(a)
print(res,type(res))
#(12+3.9j)
总结:
举例1:
a='123bcd'
res=list(a)
print(res, type(res))
输出结果:
[‘1’, ‘2’, ‘3’, ‘b’, ‘c’, ‘d’]
举例1:
a=(1,2,3)
res=list(a)
print(res, type(res))
输出结果:
[1, 2, 3]
举例1:
a={'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
res=list(a)
print(res, type(res))
输出结果:
[‘name’, ‘Age’, ‘Sex’]
举例1:
a={1,2,3,'b','c','d'}
res=list(a)
print(res, type(res))
输出结果:
[1, 2, 3, ‘d’, ‘c’, ‘b’]
总结:
举例1:
a='123bcd'
res=tuple(a)
print(res, type(res))
输出结果:
(‘1’, ‘2’, ‘3’, ‘b’, ‘c’, ‘d’)
举例1:
a=[1,2,3]
res=tuple(a)
print(res, type(res))
输出结果:
(1, 2, 3)
举例1:
a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
res = tuple(a)
print(res, type(res))
输出结果:
(‘name’, ‘Age’, ‘Sex’)
举例1:
a={1,2,3,'b','c','d'}
res=tuple(a)
print(res, type(res))
输出结果:
(1, 2, 3, ‘d’, ‘c’, ‘b’)
总结:
举例1:
a=[[1, 2], ['a','b']] # 等长二级列表
res=dict(a)
print(res, type(res))
输出结果:
{1: 2, ‘a’: ‘b’}
举例2:
tp1=[1,2,3]
tp2=[1,2,3,4]
res=dict(zip(tp1,tp2))
print(res, type(res))
输出结果:
{1: 1, 2: 2, 3: 3}
举例1:
a=((1, 2), (3, 4), (5, 6)) # 等长二级元组
res=dict(a)
print(res, type(res))
输出结果:
{1: 2, 3: 4, 5: 6}
举例2:
tp1=(1,2,3)
tp2=(1,2,3,4)
res=dict(zip(tp1,tp2))
print(res, type(res))
输出结果:
{1: 1, 2: 2, 3: 3}
总结:
举例1:
a="hello"
res=set(a)
print(res,type(res))
输出结果:
{‘h’, ‘o’, ‘l’, ‘e’}
举例1:
a=[1,2,3,4]
res=set(a)
print(res,type(res))
输出结果:
{1, 2, 3, 4}
举例1:
a=(1,2,3,4)
res=set(a)
print(res,type(res))
输出结果:
{1, 2, 3, 4}
举例1:
a={'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
res=set(a)
print(res,type(res))
输出结果:
{‘Sex’, ‘Age’, ‘name’}
总结:
参考文章:
https://zhuanlan.zhihu.com/p/83086122
https://blog.csdn.net/cheuklam/article/details/120555191