【7】python之数据类型

1、数字

int(整型)

Python3的整数没有指定位宽,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
 
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
print(type(0.000523)) 
print(5.23E-4)
print(5.23*10**-4) 
执行结果:
<class float>
0.000523
0.000523

complex(复数)

复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。使用较少
 
数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

https://www.runoob.com/python3/python3-number.html

2、布尔值

真或假、1 或 0
1 a = 0
2 if a :
3     print("true")
4 else:
5     print("flase")

当a等于0时返回flase,等于1时返回true

 

3、字符串

string
1、python中文本总是用unicode进行编码,以str类型表示。
2、单引号和双引号使用完全相同。
3、使用三引号(''' 或 """)可以指定一个多行字符串。
4、反斜杠\可以用来转义,使用r可以让反斜杠不发生转义。 如 r"this is a line with \n" 则\n会显示,并不是换行。
5、Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
6、字符串拼接:+
1 a = "Hello"
2 b = "Python"
3 print(a+b)
4 #输出HelloPython

7、字符串的截取的语法格式如下:变量[头下标:尾下标:步长]

1 a = "Hello"
2 b = "Python"
3 print(a[0:3],a[1:3])
4 #输出Hel,el

8、成员判断:in

 1 a = "Hello"
 2 b = "Python"
 3 if ("H" in a):
 4     print("H 在变量 a 中")
 5 else:
 6     print("H 不在变量 a 中")
 7 
 8 if ("M" not in a):
 9     print("M 不在变量 a 中")
10 else:
11     print("M 在变量 a 中")
12 
13 #输出H 在变量 a 中,M 不在变量 a 中
 
格式化字符串输出:%

 

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

字符串常用操作:https://www.cnblogs.com/dangjf/p/8986833.html

文档:https://www.runoob.com/python3/python3-string.html

4、列表(list)[]

列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
 1 list = ['Google', 'Runoob', 1997, 2000]
 2 print("列表的长度为 : ",len([1, 2, 3]))
 3 print("第三个元素为 : ", list[2])
 4 print("从第三个元素到第四个元素为 : ", list[2:])
 5 print("查找元素 : ", list.index("Google")) #元素不存在报错
 6 print("Google元素个数 : ", list.count("Google")) #
 7 list.reverse()#倒序
 8 print("倒序后的列表 : ",list)
 9 #list.sort()排序
10 list_copy = list.copy()#复制,只完全复制第一层,复制第二层地址,如果完全复制需要使用copy库中的deepcopy
11 print("复制后的列表 : ",list_copy)
12 list.extend(list_copy)#
13 print("列表合并 : ",list) #
14 list[2] = 2001
15 print("更新后的第三个元素为 : ", list[2])
16 list.append("Baidu")
17 print("追加后的列表为 : ", list)
18 list.insert(2,"Alibaba")
19 print("插入相应位置的列表为 : ", list)
20 del list[2]
21 #list.remove("Alibaba") 如果元素不存在报错
22 #list.pop(2) 默认删除最后一个元素
23 print ("删除第三个元素 : ", list)
24 
25 #输出结果
26 # 列表的长度为 :  3
27 # 第三个元素为 :  1997
28 # 从第三个元素到第四个元素为 :  [1997, 2000]
29 # 查找元素 :  0
30 # Google元素个数 :  1
31 # 倒序后的列表 :  [2000, 1997, 'Runoob', 'Google']
32 # 复制后的列表 :  [2000, 1997, 'Runoob', 'Google']
33 # 列表合并 :  [2000, 1997, 'Runoob', 'Google', 2000, 1997, 'Runoob', 'Google']
34 # 更新后的第三个元素为 :  2001
35 # 追加后的列表为 :  [2000, 1997, 2001, 'Google', 2000, 1997, 'Runoob', 'Google', 'Baidu']
36 # 插入相应位置的列表为 :  [2000, 1997, 'Alibaba', 2001, 'Google', 2000, 1997, 'Runoob', 'Google', 'Baidu']
37 # 删除第三个元素 :  [2000, 1997, 2001, 'Google', 2000, 1997, 'Runoob', 'Google', 'Baidu']

 https://www.runoob.com/python3/python3-list.html

 

5、元组(tup)(不可变列表)()

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号 ( ),列表使用方括号 [ ]。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组中只包含一个元素时,需要在元素后面添加逗号 ,否则括号会被当作运算符使用。
 
https://www.runoob.com/python3/python3-tuple.html

6、字典(dictionary)(无序){} 

字典是一种key-value键值对的数据类型
字典的特性:
1、dict是无序的
2、key必须是唯一的
注意:字符串转字典需要用eval
字典用法
 1 dict = {
 2 "001":"value1",
 3 "002":"value2",
 4 "003":"value3",
 5         }
 6 print(dict)
 7 #
 8 dict["004"]="value4"
 9 print(dict)
10 #删法1
11 del dict["004"]
12 print(dict)
13 #删法2
14 dict.pop("003")
15 print(dict)
16 #
17 dict["001"]="value0"
18 print(dict)
19 #
20 print(dict.get("001"))
21 #是否存在
22 print("001" in dict) #dict.has_key("001")

多级字典嵌套及操作

 1 menu = {
 2     '北京':{
 3         '海淀':{
 4             '五道口':{
 5                 'soho':{},
 6                 '网易':{},
 7                 'google':{}
 8             },
 9             '中关村':{
10                 '爱奇艺':{},
11                 '汽车之家':{},
12                 'youku':{},
13             },
14             '上地':{
15                 '百度':{},
16             },
17         },
18         '昌平':{
19             '沙河':{
20                 '老男孩':{},
21                 '北航':{},
22             },
23             '天通苑':{},
24             '回龙观':{},
25         },
26         '朝阳':{},
27         '东城':{},
28     },
29     '上海':{
30         '闵行':{
31             "人民广场":{
32                 '炸鸡店':{}
33             }
34         },
35         '闸北':{
36             '火车战':{
37                 '携程':{}
38             }
39         },
40         '浦东':{},
41     },
42     '山东':{},
43 }
44 menu1 = {
45     '陕西':{}
46 }
47 
48 #取山东,取到返回,取不到创建新值
49 menu.setdefault("山东",{})
50 #取山东,取到返回,取不到创建新值
51 menu["山东"]="济南"
52 #合并字典,有交叉更新,否则覆盖
53 menu.update(menu1)
54 #吧字典转为列表
55 print(menu.items())
56 #初始化新字典
57 c = dict.fromkeys([6,7,8],"test")
58 print(c)
59 print(menu)

字典循环

 1 menu = {
 2     '北京':{
 3         '海淀':{
 4             '五道口':{
 5                 'soho':{},
 6                 '网易':{},
 7                 'google':{}
 8             },
 9             '中关村':{
10                 '爱奇艺':{},
11                 '汽车之家':{},
12                 'youku':{},
13             },
14             '上地':{
15                 '百度':{},
16             },
17         },
18         '昌平':{
19             '沙河':{
20                 '老男孩':{},
21                 '北航':{},
22             },
23             '天通苑':{},
24             '回龙观':{},
25         },
26         '朝阳':{},
27         '东城':{},
28     },
29     '上海':{
30         '闵行':{
31             "人民广场":{
32                 '炸鸡店':{}
33             }
34         },
35         '闸北':{
36             '火车战':{
37                 '携程':{}
38             }
39         },
40         '浦东':{},
41     },
42     '山东':{},
43 }
44 menu1 = {
45     '陕西':{}
46 }
47 
48 for i in menu:
49     print(i)
50 for k,v in menu.items():
51     print(k,v)

 https://www.runoob.com/python3/python3-dictionary.html

 7、集合(无序)

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

 1 s = set([3, 5, 9, 10])  # 创建一个数值集合
 2 t = set("Hello")  # 创建一个唯一字符的集合
 3 
 4 a = t | s  # t 和 s的并集
 5 b = t & s  # t 和 s的交集
 6 c = t - s  # 求差集(项在t中,但不在s中)
 7 d = t ^ s  # 对称差集(项在t或s中,但不会同时出现在二者中)
 8 
 9 #基本操作:
10 t.add('x')  # 添加一项
11 s.update([10, 37, 42])  # 在s中添加多项
12 t.remove('H')#使用remove()可以删除一项
13 len(s)#set的长度
14 x in s#测试x是否是s的成员
15 x not in s#测试x是否不是s的成员
16 s.issubset(t)#s<=t测试是否s中的每一个元素都在t中
17 s.issuperset(t)#s>=t测试是否t中的每一个元素都在s中
18 s.union(t)#s|t返回一个新的set包含s和t中的每一个元素 并集
19 s.intersection(t)#s&t返回一个新的set包含s和t中的公共元素 交集
20 s.difference(t)#s-t返回一个新的set包含s中有但是t中没有的元素 差集
21 s.symmetric_difference(t)#s^t返回一个新的set包含s和t中不重复的元素
22 s.copy()#返回set “s”的一个浅复制

 https://www.runoob.com/python3/python3-set.html

 

posted @ 2018-05-03 10:04  才华充电中  阅读(515)  评论(0编辑  收藏  举报