itertools ---- Python Iteration Module
无限 迭代器
count(start, step)
起点开始,无穷迭代, 每次返回值(yield)增加给定 step
1 2itertools.count(1) itertools.count(1, 3)
cycle(iterable)
提供的材料,被无穷迭代
1 2itertools.cycle([1, 2, 3]) itertools.cycle('ABC')
Python 类型检查 ---- typing 模块
Tutorials
PEP 484:
- 简略介绍,PEP 483: https://www.python.org/dev/peps/pep-0483/
PEP 544
- Protocols: Structural subtyping (static duck typing)
- 用来规定鸭子类型的检验 typecheck
- 英文:https://www.python.org/dev/peps/pep-0544/
mypy 泛型教程
python 代码规范
Lambda functions λ 函数 更规范的使用
https://treyhunner.com/2018/09/stop-writing-lambda-expressions/
错误用法
lambda 赋给变量
- 错误
| |
正确
- 定义单行,正常函数
| |
多余的转换
错误
在 lambda 中又调用同样接口的函数
1sorted_numbers = sorted(numbers, key=lambda n: abs(n))
正确
直接使用已有函数,不要多此一举
C# Notes
反编译工具
https://blog.csdn.net/kongwei521/article/details/54927689
dotPeek
- 好用,免费
- 在线源码支持
- .Net Reflector
ILSpy/dnSpy
- dnSpy 报病毒
String 类型
System.String
两种格式
"a string"
- ""
@"a string, c:home"
- @""
- 相当于其它语言 r"a string c:home"
- 不把 "\" 当成转义符,而是普通字符
- crude string
- 支持换行,类似 python """ a string """, doc string
junit ---- Java Unit Test Framework
概述
Test Case
- 用来测试一段代码(类的方法)的最小单元
测试一个问题
最少需要两个 Test Case
- 一个“正确”的结果测试 positive
- 一个“失败”的结果测试 negative
junit 安装
- 不需要具体安装
- 放到依赖中即可