Python基础

数据类型

  • **不可变数据(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

回到最上层继续循环