本文最后更新于 145 天前,其中的信息可能已经有所发展或是发生改变。
python基础
变量
可变与不可变
- 不可变数据:
数据一旦通过变量被存储进内存地址,就不可更改。
- 可变类型:
类似数组元素
- 区别:是否需要定义一个新的变量来接收结果。
- 在pycharm高闪的词汇:可能是函数名,方法名和关键字。
- 变量名最好用小写命名
- 不要用拼音
- 单引号双引号没什么区别在char里(python)
列表
容器类
按一定数据排序的容器类。(和
- 使用[]括起来
- 可以不是同个类型的数据
- 非结构化和非标量化
创建
-
直接创建
-
构造方法list()
-
item = list(range(2,20) -
前闭后开的规则
-
range:从2到19依次输出
-
基础用法
- 拼接
id = item1 + item2
- 重复
i1 = [1,2,3,4]
print(i1*2) #重复的输出两遍
- 成员运算(IN NOT IN )
print('123' in i1):判断i1里是否存在123元素
-
如果有,返回
true -
反之返回
flase
元组
创建
三元组:
三个元素为一组。
t1 =(1,2,3)
t2 = (4,5,6)
用法
- 拼接

-
重复
-
包含

集合
创建
{}括住
特性:
唯一性:每个元素只能出现一次,出现就去掉(去重)
无序性:元素没有固定的顺序,不能通过索引访问。
用法
- 没有拼接/重复运算,只有包含(交集/并集/差集/对称差集)
交集
使用 & 符号表示两个集合之间的交集。例如:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2) # 输出: {3}
并集
使用 | 符号表示两个集合的并集。例如:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2) # 输出: {1, 2, 3, 4, 5}
差集
使用 - 符号表示从一个集合中减去另一个集合。例
如:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 - set2) # 输出: {1, 2}
print(set2 - set1) # 输出: {4, 5}
对称差集
使用 ^ 符号表示两个集合的对称差
集,即只属于其中一个集合的元素。例如:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 ^ set2) # 输出: {1, 2, 4, 5}
字典
存储kv(键值对)的集合。
是一种可变、无序的集合,其中的元素以 键:值 的形式存储。
# 创建字典
# 在这个字典中:"name", "age", "city" 就是键
person = {
"name": "张三",
"age": 25,
"city": "北京"
}
print(person) # {'name': '张三', 'age': 25, 'city': '北京'}
特点
- 无序性:字典中的元素没有固定的顺序
- 键的唯一性:每个键必须是唯一的,如果重复,后面的键会覆盖前面的。
- 键的不可变性:键必须是不可变类型(字符串、数字、元组等)
- 值的任意性:值可以是任何数据类型
索引和切片
索引
索引是访问序列(如字符串、列表、元组)中单个元素的方式。Python使用方括号 [] 进行索引操作。
-
正向索引
- 从左向右,从 0 开始
-
负向索引
- 从右向左,从 -1 开始
-
赋值修改(指定索引)
- 索引赋值修改指的是通过索引位置直接修改序列中元素的值。
# 列表的索引修改
numbers = [10, 20, 30, 40, 50]
print("修改前:", numbers) # [10, 20, 30, 40, 50]
# 通过索引修改元素
numbers[2] = 300
print("修改后:", numbers) # [10, 20, 300, 40, 50]
# 替换切片范围内的元素
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[2:5] = [20, 30, 40] # 替换索引2-4的元素
print(numbers) # [0, 1, 20, 30, 40, 5, 6, 7, 8, 9]
切片
访问序列中一部分元素的方式,语法:[i:j:K]
- i索引开始,取得到
- K索引结束,取不到
- K,读取方向,
- 正数顺序(从左往右)
- 负数逆序(右往左)
[::]从头取到尾 (复制的做法)
特点:
- 不会修改原序列:切片操作返回新的序列
- 索引越界不会报错:会自动调整到有效范围
- 支持负步长:可以实现反转等操作
运算符
算术
整除求商(把小数点去掉)
取模求余
比较
逻辑运算符
短路功能:
(5<3) and (10/0)
flase
假设第一个条件为T,由于10/0这个算式中0不能当分母,所以结果就会报错
使用第一个条件为F的去规避这种错误
数组
数组能够省略列,不能省略行
