运算符
+ # 加
- # 减
* # 乘
/ # 除
% # 取余
// # 取商的整数部分
** 幂
and 且(找false)
or 或 (找true)
not 取反
条件判断
age = 18
if age > 18:
print(f"超过{age}岁")
elif age == 18:
print("刚满%s岁"%age)
else:
print("未满",age,"岁")
循环
i = 0
while i < 10:
print(f"i={i}")
i += 1
str = "abcdefg"
for s in str:
print(f"s={s}")
for x in range(1,5):
print(x)
函数
def sum(x,y):
res = x + y
return res
print(sum(100,200))
数值
a = 10 # int整数
b = 10.0 # float浮点数
### 数据类型转换
int(x) # 将x转换为一个整数
float(x) # 将x转换为一个浮点数
str(x) # 将对象 x 转换为字符串
list(列表)
list1 = [1,2,3,4,5]
list2 = list([1,2,3,4,5])
list = list([1,2,3,'str'])
# list.append("元素") # 向列表的尾部追加一个元素
# list.insert("下标","元素") # 在指定下标处,插入指定的元素
# index = list.index("元素") # 查找指定元素在列表的下标,找不到报错ValueError
# count = list.count("元素") # 统计此元素在列表中出现的次数
# len = len(list) # 统计容器内有多少元素
# res = list.pop("下标") # 删除列表指定下标元素(能得到返回值)
# del list["下标"] 删除列表指定下标元素
# list.remove("元素") # 从前向后,删除此元素第一个匹配项
# list.clear() # 清空列表
# list.extend([4,5]) # 将数据容器的内容(无结构)依次取出,追加到列表尾部
tuple(元祖)
tuple1 = (1,2,3,'str') # 方式一
tuple2 = tuple([1,2,3,'str']) # 方式二
tuple = tuple([1,2,3,'str','str'])
len = len(tuple) # 统计元组内的元素个数
index = tuple.index("str") # 查找某个数据,如果数据存在返回对应的下标,否则报错
count = tuple.count("str") # 统计某个数据在当前元组出现的次数
注意: 元组只有一个数据,这个数据后面要添加逗号
字符串
str = "a,b,c,d,e,f,g"
len = len(str) # 统计字符串的字符个数
idx = str[5] # 根据下标索引取出特定位置字符
index = str.index("a") # 查找给定字符的第一个匹配项的下标
count = str.count("f") # 统计字符串内某字符串的出现次数
split = str.split(",") # 按照给定字符串,对字符串进行分隔不会修改原字符串,而是得到一个新的列表
strip = str.strip() # 移除首尾的空格和换行符或指定字符串
replace = str.replace("a,b","****") # 将字符串内的全部字符串1,替换为字符串2不会修改原字符串,而是得到一个新的
set(集合)
s1 = {1,2,3,4,5}
s2 = set({'a','b','c','d','e'})
len(s1) # 得到一个整数,记录了集合的元素数量
s1.add(100) # 集合内添加一个元素
s1.remove(4) # 移除集合内指定的元素
s1.pop() # 从集合中随机删除一个元素并返回
s1.clear() # 将集合清空
s3 = s1.difference(s2) # 得到一个新集合,内含2个集合的差集原有的2个集合内容不变
s1.difference_update(s2) # 在集合1中,删除集合2中存在的元素集合1被修改,集合2不变
s4 = s1.union(s2) # 得到1个新集合,内含2个集合的全部元素原有的2个集合内容不变
dictionary(字典)
d1 = {"a":1,"b":3}
d2 = dict({"a":1,"b":2})
d1.keys()
d1.values()
d1['a']
# d1.clear()
# d1.pop('a')
# len(d1)
print(len(d1))
- 键值对的Key和Value可以是任意类型(Key不可为字典)
- 字典内Key不允许重复,重复添加等同于覆盖原有数据
- 字典不可用下标索引,而是通过Key检索Value
数据容器特点对比:
| 列表 | 元组 | 字符串 | 集合 | 字典 | |
|---|---|---|---|---|---|
| 元素数量 | 支持多个 | 支持多个 | 支持多个 | 支持多个 | 支持多个 |
| 元素类型 | 任意 | 任意 | 仅字符 | 任意 | Key:ValueKey:除字典外任意类型Value:任意类型 |
| 下标索引 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 重复元素 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 可修改性 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
| 数据有序 | 是 | 是 | 是 | 否 | 否 | |
| 使用场景 | 可修改、可重复的一批数据记录场景 | 不可修改、可重复的一批数据记录场景 | 一串字符的记录场景 | 不可重复的数据记录场景 | 以Key检索Value的数据记录场景 |
容器通用功能:
| 功能 | 描述 |
|---|---|
| 通用for循环 | 遍历容器(字典是遍历key) |
| max() | 容器内最大元素 |
| min() | 容器内最小元素 |
| len() | 容器元素个数 |
| list() | 转换为列表 |
| tuple() | 转换为元组 |
| str() | 转换为字符串 |
| set() | 转换为集合 |
| sorted(序列, [reverse=True]) | 排序,reverse=True表示降序得到一个排好序的列表 |