forked from techstay/python-study
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatatype.py
More file actions
203 lines (154 loc) · 4.39 KB
/
datatype.py
File metadata and controls
203 lines (154 loc) · 4.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
print('--------------空类型--------------')
print(f'None type:{type(None)}')
print(f'None value:{None}')
print('--------------整数类型--------------')
print(f'Integer type:{type(100)}')
print(f'Integer value:{100}')
# 各种进制
decimal = 100
binary_number = 0b1100
octal_number = 0o12374
hexadecimal = 0xcafe
print(f'八进制:{oct(decimal)}')
print(f'十六进制:{hex(decimal)}')
print(f'二进制:{bin(decimal)}')
# 特别的运算符
result = 5 / 3
print(f'/ 是小数除:{result}')
result = 5 // 3
print(f'// 是整除:{result}')
result = 5 ** 3
print(f'**是乘方:{result}')
print('--------------浮点数类型--------------')
print(f'Float type:{type(3.14)}')
print(f'Float value:{3.14}')
# 各种小数
float_number = 3.1415
exp_number = 0.31415e1
print(f'float:{exp_number}')
print('--------------布尔类型--------------')
print(f'Bool type:{type(True)}')
print(f'Bool value:{False}')
print('--------------复数类型--------------')
complex1 = 1 + 2j
complex2 = 2 + 3j
print('复数类型:', type(complex1))
print('复数:', complex1 + complex2)
print('复数{0}的实部:{1},虚部是:{2}'.format(complex1, complex1.real, complex1.imag))
print('{0}的共轭复数是:{1}'.format(complex1, complex1.conjugate()))
print('--------------字符串类型--------------')
print(f'String type:{type("")}')
print(f'string value:{"fuck"}')
multiLineString = '''\
这是一个多行字符串
首行的\\表示第一行被忽略
'''
print(multiLineString)
rawString = r"\n不会被转移"
print(f'原始字符串:{rawString}')
formattedString = f"{3.14}"
print(f'格式化字符串:{formattedString}')
print('--------------序列类型的切片操作--------------')
serial = list(range(0, 11))
print(f'前五个元素:{serial[0:5]}')
print(f'后五个元素:{serial[-6:-1]}')
print(f'第4个到最后:{serial[3:]}')
print(f'第2个元素:{serial[1]}')
serial = [1, 2, 3, 4, 5]
serial[2:4] = []
print(f'删除切片 serial={serial}')
print('--------------列表--------------')
print(f'list type:{type([])}')
# 新建列表
list1 = []
list2 = list()
# 插入元素
list1.append(1)
list1.append(2)
list1.extend(range(3, 6))
list1.insert(2, 9)
print(f'插入元素 list1:{list1}')
# 删除元素
list1.remove(5)
del list1[2]
print(f'删除元素 list1:{list1}')
# 清除列表
list1.clear()
print(f'清除列表 list1:{list1}')
# 栈操作
list2.append(1)
list2.append(2)
list2.pop()
print(f'list2:{list2}')
# 列表解析
squareList = []
for i in range(1, 10):
squareList.append(i ** 2)
print(f'平方列表:{squareList}')
squareList = [i * i for i in range(1, 10)]
print(f'平方列表:{squareList}')
oddList = [i for i in range(1, 10) if i % 2 != 0]
print(f'奇数列表:{oddList}')
complexList = [(x, y) for x in range(1, 5) if x % 2 == 0 for y in range(1, 5) if y % 2 != 0]
print(f'复杂列表:{complexList}')
print('--------------元组--------------')
print(f'tuple type:{type((5,))}')
tuple1 = ()
tuple1 = tuple()
tuple2 = (1, 2, 3, 4, 5)
tuple3 = (50,)
tuple2 = (5, 6)
a, b = tuple2
print(f'a={a},b={b}')
print('--------------集合--------------')
print(f'set type:{type(set())}')
set1 = set()
set2 = {1, 2, 3, 4}
# 添加元素
set1.add(3)
set1.add(4)
set1.add(9)
set1.add(5)
set1.add(4)
print(f'set1 :{set1}')
# 删除元素
set1.remove(4)
# 不可变集合
set1 = frozenset(set1)
# 集合操作
print(f'交:{set1 & set2}')
print(f'并:{set1 | set2}')
print(f'差:{set1 - set2}')
print(f'对称差集:{set1 ^ set2}')
print('--------------字典--------------')
print(f'dict type:{type({})}')
dict1 = {}
dict2 = dict()
dict2 = {1: 2, 2: 4, 3: 6}
dict1[1] = 1
dict1[2] = 2
print(f'dict1:{dict1}')
dict1[2] = 3
print(f'dict1:{dict1}')
del dict1[2]
print(f'dict1:{dict1}')
print(f'dict2.keys:{dict2.keys()}')
print(f'dict2.values{dict2.values()}')
for k, v in dict2.items():
print(f"[{k}:{v}]", end=' ')
print()
print('--------------序列类型--------------')
longString = 'abcdefghijklnm'
print(f'整个序列:{longString[:]}')
print(f'前5个:{longString[0:5]}')
print(f'后5个:{longString[-6:-1]}')
print(f'前五个之后的所有:{longString[6:]}')
print(f'后五个前面所有的:{longString[:-6]}')
print(f'所有元素:{longString[0:1000]}')
longList = [1, 2, 2, 3, 4, 56, 6, 7, 8, 9, 0]
print(f'longList:{longList}')
longList[0:3] = [5]
print(f'longList:{longList}')
print('--------------列表解析--------------')
cubeList = [i ** 3 for i in range(1, 10)]
print(f'cubeList:{cubeList}')