Datawhale P2S第五次学习
一、知识点
- Python原生for循环语法其实是非常非常慢的,所以尽量不要使用Python写多层for循环。(或许可以考虑Python和C++混合编程之类的)
- 剪枝操作: 在机器学习中,剪枝通常用于决策树算法中。通过提前停止树的生长、删除不重要的节点或简化决策规则,可以降低决策树的复杂度,提高其泛化能力,同时减少计算和内存消耗。
- 在不知道循环什么时间停止的时候,应该试试 While 循环。
二、代码学习
1.assert 操作
assert是一个Python关键字,用于在代码中插入调试断言。如果括号中的条件为真,则程序可以继续执行;如果条件为假,程序会抛出一个AssertionError异常。
# 验证他它俩结果是一样的
for n in range(100):
assert(isPrime(n) == fasterIsPrime(n))
print("两种解法的结果一致")
2.运行时间的记录
使用time库来记录代码运行时间,基本逻辑是:运行前后记录时间点,算差值。
import time # 导入time库,可以记录时间
bigPrime = 102030407
print("Timing isPrime(",bigPrime,")", end=" ")
# isPrime
time0 = time.time()
print(", returns ", isPrime(bigPrime), end=" ")
time1 = time.time()
print(", time = ",(time1-time0)*1000,"ms\n")
3.range(m, n+1, k)函数
range(m, n+1, k)函数的使用,range()本质上可以认为是一个数列生成器
for i in range(0, 10, 2):
print(i)
其他收获
自动空格
自动空格有一些方法,包括插件和改文件,然后尝试了一下,发现了一个较为简单,且自己尝试有效的方法如下:
kill terminal
Ctrl+C键可以kill terminal
总结
今天还行吧,抽空搞了一些东西,也解决了一些小问题,希望后续再接再厉,多多学习。学习了assert,用time库来记录程序跑的时间,range函数,自动空格,kill terminal。