forked from vipstone/python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path数据类型.md
280 lines (247 loc) · 7.4 KB
/
数据类型.md
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# 数据类型
----------
## 所有类型 ##
int(整型)
float(浮点)
complex(复数)
bool(布尔)
str(字符串)
list(列表)
tuple(元祖)
dict(字典)
查看数据类型
----------
在ptyhon中可以使用type()方法返回元素数据类型,示例如下:
```
print(type(1))
# 输出:<class 'int'>
print(type(1.0))
# 输出:<class 'float'>
print(type("1.0"))
# 输出:<class 'str'>
```
## 数字 ##
```
x = 3
y = 2
print(x/y) # output:1.5
```
### 数字的乘方 ###
python中使用2个乘号(*)来计算数字的乘方,比如3**2,表示3的平方。
```
print(3**2) # output:9
```
### 取模运算符 ###
取模运算符(%),返回两个相除数的余数,实例如下:
```
print(4 % 3) # output:1
print(5 % 3) # output:2
```
### int类型转换 ###
python不支持模糊的数据类型,比如数字加字符,比如:
```
x = 18
y = "2"
print(x+y)
```
程序运行报错:TypeError: unsupported operand type(s) for +: 'int' and 'str'
这时候需要把非数字类型转换为数字类型,使用语法"int(str)",实例如下:
```
x = 18
y = "2"
print(x+int(y)) # output:20
```
----------
## bool ##
bool的值为:True | False,注意首字母都要大写。
**在python中0,、空字符、空列表[]、空元祖()、空字典都等于False。**
## 字符串 ##
python中可以使用单引号(')、双引号(")、三引号('''或""")表示。
**去除空格:lstrip()、rstrip()、strip()=>去首部、尾部、首尾部**,实例如下:
```
# lstrip()去字符开始空格
name = ' 老王 '
print("开始"+name.lstrip()+"结束") # output:开始老王 结束
# rstrip()去字符串结束空格
name = ' 老王 '
print("开始"+name.rstrip()+"结束") # output:开始 老王结束
# strip() 去看首尾两端空格
name = ' 老王 '
print("开始"+name.strip()+"结束") # output:开始老王结束
```
**类型转换为字符**
使用str(),把非字符类型转换为字符类型,实例如下:
```
print(str(1)+str(2)) # output:12
```
全部转换大、小写
使用upper()、lower()把字符全部转换成大、小写,实例如下:
```
name = "Laowang"
print(name.upper()) # output:LAOWANG
print(name.lower()) # output:laowang
```
----------
## 列表 ##
python中使用中括号([])表示列表,并用逗号分隔其元素,实例如下:
```
list = [111, 222, 333]
print(list) # output:[111, 222, 333]
```
**获取列表长度**
使用len()获取列表长度,实例如下:
```
list = [111, 222, 333]
print(len(list)) # output:3
```
**获取某个元素**
使用下标来获取元素list[0],第一个元素的下标为0,使用-1可以获得最后一个元素,实例如下:
```
list = [111, 222, 333, 444]
print(list[0]) # output:111
print(list[-1]) # output:444
print(list[1:3]) # output:[222, 333]
```
**新增元素**
方式一:使用append()添加元素到数组最后,实例如下:
```
list = ["hello", "world"]
list.append("!")
print(len(list)) # output:3
print(list) # output:['hello', 'world', '!']
```
方式二:insert(n,object)添加元素到指定位置,实例如下:
```
list = ["hello", "world"]
list.insert(0, "!")
print(list) # output:['!', 'hello', 'world']
```
**删除元素**
方式一:使用del(index)关键字,实例如下:
```
list = ["hello", "world", "!"]
del list[0]
print(list) # output:['world', '!']
```
方式二:使用pop()删除元素最后一项,实例如下:
```
list = ["hello", "world", "!"]
list.pop()
print(list) # output:['hello', 'world']
```
方式三:如果你知道要删除的值,可以使用remove删除,实例如下:
```
list = ["hello", "world", "!"]
list.remove("hello")
print(list) # output:['world', '!']
```
**in查询**
查询元素是否存在数组使用in查询,实例如下,
```
list = ["hello", "world", "!"]
dstr = "hello2"
if dstr in list:
print("存在")
else:
print("不存在")
# output:不存在
```
**最大值、最小值、求和**
使用min(),max(),sum(),实例如下:
```
list = [10, 4, 6, 8]
print(min(list)) # output:4
print(max(list)) # output:10
print(sum(list)) # output:28
```
**数组排序**
使用sort()对列表永久性排序,实例如下:
```
list = ["ahref", "focus", "mouse", "click"]
list.sort()
print(list) # output:['ahref', 'click', 'focus', 'mouse']
```
如果你需要一个**相反的排序,使用sort(reverse=True)**即可,实例如下:
```
list = ["ahref", "focus", "mouse", "click"]
list.sort(reverse=True)
print(list) # output:['mouse', 'focus', 'click', 'ahref']
```
使用sorted(),对列表临时排序,实例如下:
```
list = ["ahref", "focus", "mouse", "click"]
print(sorted(list)) # output:['ahref', 'click', 'focus', 'mouse']
print(list) # output:['ahref', 'focus', 'mouse', 'click']
```
颠倒列表使用reverse(),实例如下:
```
list = ["ahref", "focus", "mouse", "click"]
list.reverse()
print(list) # output:['click', 'mouse', 'focus', 'ahref']
list = [222, 111, 333]
list.reverse()
print(list) # output:[333, 111, 222]
```
注意:reverse()不是按序排序之后再倒叙,而是直接颠倒列表,如果要按序排序在颠倒顺序使用,sort(reverse=True).
**切片**
你可以处理列表中的部分元素,python中称之为切片.
例如你需要列表中的前两位元素,可以这样使用:
```
list = ["ahref", "focus", "mouse", "click"]
print(list[0:2]) # output:['ahref', 'focus']
```
[x:y]其中x表示开始下标,截取包含开始下标,y表示结束下标,截取时不包含结束下标,可以使用负数,代表列表的倒数几位,实例如下:
```
list = ["ahref", "focus", "mouse", "click"]
print(list[:2]) # output:['ahref', 'focus']
print(list[:]) # output:['ahref', 'focus', 'mouse', 'click']
print(list[:-1]) # output:['ahref', 'focus', 'mouse']
```
----------
## 元祖(tuple) ##
python中有括号()表示元祖,是一种只读的列表类型,元素值不能被修改。
实例如下:
```
list = ("ahref", "focus", "mouse", "click")
print(list[1]) # output:focus
list[1] = "myfocuse" # output:报错,元祖的元素不能被修改
```
注意:元祖的元素虽然不能修改,但元祖的接受变量是运行修改的,实例如下:
```
list = ("ahref", "focus", "mouse", "click")
print(list) # output:('ahref', 'focus', 'mouse', 'click')
list = ("dbclick", "keyup")
print(list) # output:('dbclick', 'keyup')
```
上面的代码表示把元素("ahref", "focus", "mouse", "click")赋值给list变量,但是list变量值的修改是合法的。
----------
## 字典 ##
python中用{}表示字典,字典是用键值对表示的,和列表相比,字典是无须的对象集合。
```
dict = {}
dict["name"] = "laowang"
dict["age"] = 18
print(dict) # output:{'name': 'laowang', 'age': 18}
print(dict["name"]) # laowang
print(dict.keys()) # output:dict_keys(['name', 'age'])
print(dict.values()) # output:dict_values(['laowang', 18])
for key, value in dict.items():
print("key:"+key)
# output:key:name
# output:key:age
```
----------
## 类型转换方法集合 ##
chr(i) 把一个ASCII数值,变成字符
ord(i) 把一个字符或者unicode字符,变成ASCII数值
oct(x) 把整数x变成八进制表示的字符串
hex(x) 把整数x变成十六进制表示的字符串
str(obj) 得到obj的字符串描述
list(seq) 转换成列表
tuple(seq) 转换成元祖
dict() 转换成字典
int(x) 转换成一个整数
float(x) 转换成一个浮点数
complex(x) 转换成复数
----------
下一节:[条件判断和循环](条件判断和循环.md)