数据类型
- **不可变数据(4 个):**Number(数字)、String(字符串)、bool(布尔)、Tuple(元组)
- **可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)
数字number
整数int
浮点数float
布尔bool
复数complex
运算符
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 整除,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
字符串string
访问字符串中的值:利用下标可以访问
布尔bool
元组tuple
1.统计元组中x的出现次数
count(x)
2.查找元素x第一次出现的下标,找不到会报错
index(x,start,end)
列表list
增加
1.尾部增加单个元素
append()
2.批量追加多个元素
extend(可迭代对象)
3.指定下标插入
insert(index,x)
删除
1.按下标删除,返回被删除元素,默认删除最后一位
pop()
2.删除第一个匹配的元素,无该元素会报错
remove(x)
3.清空整个列表
clear()
4.内置语句
del list1 #删除下标为1的元素
改
1.下标直接赋值
list1 = 100
2.切片批量修改
list1:3 = 100,200
查询
1.查找元素下标,查不到会报错
index(x,start,end)
2.统计元素出现的次数
count(x)
排序、反转
1.原地排序(改变原有列表)
sort(key=None,reverse=False) #升序排列
sort(reverse=True) #降序排列
2.原地反转列表
reverse()
复制
1.拷贝、生成新列表
new_list = list.copy()
#等价 new_list = list :
字典dict
增加
1.直接赋值
d = 'age' = 20
2.批量更新/添加
update()
d.update({"age":20,"gander":"male"})
d.update(score=100) #也可传关键字
3.插入
setdefault(key.默认值)
key不存在,插入键值对;key存在,不修改,返回原有值
查询
1.安全取值,不存在报错
get()
2.获取所有键
keys()
3.获取所有值
values()
4.获取元组用于循环遍历
items()
for k,v in items():
print(k,v)
删除
1.删除指定的key并返回对应值
pop()
2.删除字典最后插入的一组键值对
popitem()
3.清空字典中所有的元素,字典保留
复制、创建
1.拷贝字典
copy()
2.快速新建字典
dict.fromkeys("a","b",0)
集合set
增删
1.添加单个元素,元素存在则无变化
add(x)
2.批量添加多个元素(列表、元组、集合)
update(4,5,6)
3.删除指定元素,元素不存在会报错
remove(x)
4.删除指定元素,不存在也不会报错
discard(x)
5.随机删除并返回一个元素,集合空时会报错
pop()
6.清空集合所有元素
clear()
集合关系运算
1.并集(所有元素去重)
a.union(b,c) 等价 a|b
a = {1,2},b = {2,3}
print(a.union(b)) #{1,2,3}
2.交集(两边共有元素)
a.intersection(b) #{2}
3.差集(a独有的元素)
a.difference(b) #{1}
4.对称差集(两边互不相同的元素)
a.symmetric_difference(b) #{1,3}
转义字符
|---------|-------------|
| 转译字符 | 描述 |
| \(在行尾) | 续行符 |
| \\ | 反斜杠 |
| \' | 单引号 |
| \" | 双引号 |
| \a | 响铃 |
| \b | 退格backspace |
| \000 | 空 |
| \n | 换行 |
| \v | 纵向制表符 |
| \t | 横向制表符 |
| \r | 回车 |
| \f | 换页 |
| \other | 其他字符以普通格式输出 |
控制语句
IF
|-------|------------------------|-------------------|
| 关键字 | 说明 | 示例 |
| if | 条件判断语句,当前条件为True时执行代码块 | if x>0: |
| elif | 多条件判断分支 | elif x==0: |
| else | 所有条件不能满足是执行 | else: |
| pass | 空语句,站位用,保证语法完整 | if x>0: pass |
| match | 结构化模式匹配 | match x:case1:... |
match
python
def check_permission(status):
match status:
case 200:
return "OK - 请求成功"
case 301 | 302:
return "Redirect - 重定向"
case 401 | 403 | 404:
return "Not allowed - 无权限或未找到"
case 500 | 502 | 503:
return "Server Error - 服务器错误"
case _:
return "Unknown status - 未知状态码"
for code in [200, 301, 403, 500, 418]:
print(f"状态码 {code}: {check_permission(code)}")
循环语句
FOR
#!/usr/bin/python3
sites = "Baidu", "Google","Taobao"
for site in sites:
print(site)
WHILE
while <expr>: <statement(s)> else: <additional_statement(s)>
BREAK
结束循环
CONTINUE
回到最上层继续循环