@ 天池python 训练营 Task 01
易忘知识点
1. 三元
变量 = 值1 if 条件成立 else 值2
2. 判断在数组里: in / not in, 是同一个字符串: is / not is 【判断地址】,== / != 【判断值】
地址不变 : str: is 等价于 ‘==’
地址变: 不一样了
3. pop函数在集合中是随即删除一个,IDE和非字符串类型删除左边第一个
4. bit_length() – 返回二进制的长度数
5. decimal – 精确计算
1. 使用decimal中的Decimal 对象
import decimal -- 导入包
from decimal import Decimal -- 从包中导入某个方法
2. 用Deciml对象进行计算
c = Decimal(1) / Decimal(3)
3. 用decimal中的getcontext()方法中的prec属性界定精确值
decimal.getcontext().prec = 4
4. 重新用Decimal对象求解的时候就只有4位小数了
6. 类型定义
基本类型:整型、浮点型、布尔型 -- 某个指定的值
容器类型:字符串、元组、列表、字典和集合 -- 存储多个对象的对象
7. 判断两个类型是否相同
isinstance(a, 类型)
8. 输出
1. 以CCC结尾
print(a, end='CCC')
2. 以C为两个字符串之间的分隔符
print(a, b, sep = 'C')
9. 二进制
正数 -- 原码反码补码均不变
负数 -- 原码 【最高位为1】, 反码 【除符号位全部取反】, 补码【反码 + 1】
按位取反 -- 补码全部取反【包括符号位】
10. assert - 断言, 后面条件为False 会抛出AssertionError 异常 – 用来单元测试
11. [: -1] 和 [:: -1] --b = a[i:j:s] – 复制a[i]-a[j]的数给b,中间缺省为s
s<0时,i缺省默认是-1, j缺省默认是 -len(a)-1
[:-1]即 复制从头到-1前的数, [::-1]即倒序
12. 循环输出列表 member = [‘11’, ‘22’, ‘33’]
1. 直接输出列表值 -- for i in member
2. 输出列表索引 -- for i in range(len(member))
3. 输出索引和值 -- for index,member_id in enumerate(member)
13. 循环输出字典 dict = {‘a’: 1, ‘b’: 2}
1. 循环输出字典的键或值 -- for key, value in dict.items()
2. 循环输出字典的键 -- for key in dict.keys()
3. 循环输出字典的值 -- for value in dict.values()
14. range()函数 – range(第一个参数,第二个参数【不包含进】, 步长)
15. enumerate()函数 – 见12
16. pass - 占位符
17. 推导式
1. 列表推导式 -- [表达式 for 值 in 条件 if ]
输出0 - 2 所有点的向量 -- a = [(i , j) for i in range(0, 3) for j in range(0, 3)]
2. 元组推导式 -- 列表外的中括号改为小括号即可
18. 异常 – 还要再看看
1. try except
2. try except finally
3. try except else