python 结课总结与收获

python 结课总结与收获


一个学期的python课程就这样结束了,过的很快啊,总想总结点什么,但是打开Typora的时候却又不知道该写点什么了。

学校开设的python课程,为数字媒体技术的学生讲的python课。最终考试是笔试考试,就是手写代码的那种,可能这种手写代码的要求会有点奇怪吧,但是我无所谓了,大一下学期python二级和C语言二级都过了,手写代码还练习过,肯定没问题了。

刚开学的时候还想看看能不能整个免修啥的,后来想了想,还是谦虚一点吧。一点一点跟着课堂上学,没准还能学到一些以前不知道的细小的点子。现在上完了,好像也确实知道了几个细小的点的解释。

课堂收获

  • 变量交换,a, b = b, a 其实本质上是打包和拆包,右边是打了个包,然后再以拆包的方式赋值给交换后的变量。
  • 可能更大的理解上的收获还是爬虫,有两节课老师讲到了爬虫,我知道下载图片的原理了,其实就是下载流式的二进制文件,把他保存成一个文件。
  • 对爬虫的本质的理解,爬虫其实是通过获得一个网页里的a链接来实现在一个网站里多个页面不停的游走,每到一个页面就获得一些信息,这才是爬虫,而我们做的那些其实只是批量下载,只是一个页面的。
  • 对字符串格式化又熟悉了一下,比如居中之类的
  • 海龟画图其实是可以整出来两个海龟一起画图的,这个我还是看到课堂上有个同学写代码写错了,居然有两个海龟在动,才发现的。
  • 知道了有processing这个东西,它的内核是jython,顺便也了解了jython,他不支持 f“{变量}”这种字符串的写法
  • 学会了用processing做一些动态的小动画,挺有意思的,只是唯一想吐槽的一点就是processing的写代码体验太不好了。
  • 通过小球碰撞以及泡泡游戏,又一次熟悉了面向对象的使用。为了做球与球碰撞的方法,复习了一点数学向量的东西,甚至高中解析几何的东西。
  • eval函数比想象中的要强大,他可以接收各种表达式,返回解析后的结果,以至于可以用字符串的方式做到一行代码实现阶乘。

其实我感觉对于我来说更多的收获来自于自学,因为课上讲的内容大部分还是学过了。我自学的收获的话,一部分是来自于《流畅的python》这本书,一部分是来自于自己做一些python的小脚本。

《流畅的python》这本书里的收获

  • 我知道了有函数注解这个东西了,规定了参数以及返回值的类型,其实只是给编辑器和人写代码的时候用的,真正运行的编译器不会去管这个,但是还是能给我们写代码的时候提供不少的帮助。
  • 我知道了更多的魔术方法,可以重载运算符,用原生的运算符号,来实现自定义的加减乘除效果。
  • 知道了抽象类和抽象基类应该怎么写。

自己做小脚本、小项目(瞎玩儿)的收获:

  • 爆裂质点演示程序:熟悉了图片画直线的操作,一些数学矢量计算方法
  • exe 读取程序:熟悉了C语言编写出来的exe二进制文件的样子,知道了怎么让python读取二进制文件了
  • 每日邮件程序:
    • 学会了用读写json格式文件的方式,实现了python程序运行后的数据转化和保存。
    • 发现了如果程序够大,那么设计API就是一个非常重要的事情,每一个py文件不能出现循环引用,比如a文件引入b文件,b文件又引入了a文件。
    • 知道如何让python判断电脑是否连接网络了。
    • 知道如何让python自动发邮件了
    • 真正的利用beautifulSoup实现了一次爬虫的字符串提取的部分,熟悉了它的使用
    • 自己实现了一些随机句子,效果好像还可以
    • 知道如何打印出彩色的字体了,在pyCharm里和在终端的黑色窗口里要用两种不同的方法打印。
  • 毛概题库扩张程序:
    • 又一次熟悉了一遍字符串的手动提取解析
    • 又一次熟悉了一遍json格式文件的读写和与python的类对象进行转换
  • 微信某自动签到程序:
    • 锻炼了面向对象的设计能力
    • 又一次熟悉了手动字符串解析
    • 又一次熟悉了粘贴板操作、鼠标操作、键盘操作等一系列自动化操作
    • 通过调用自动聊天机器人的网络爬虫代码,实现了微信自动聊天,但是效果很尴尬
  • 词海程序:
    • 又又又一次熟悉了字符串解析和提取的方法
    • 实现了单词相似匹配的功能
    • 又一次增加了对面向对象的感觉和认知,感觉从小到大逐步搭建起整个程序,逐步抽象和封装,设计类,提高可复用性本身就是一个非常有意思的过程。
  • 位运算
    • 熟悉了位运算的原理,并发现了一点分形结构的规律

一些算法题的收获

(不算python的收获了,是算法能力以及数据结构的收获了)

  • N皇后问题:熟悉了深度优先遍历
  • 有效括号:熟悉了基于python列表的栈的操作
  • 死亡锁:熟悉了广度优先遍历
  • 其他题:熟悉了链表的操作,图的操作,二维数组的操作,字符串的操作。

总结

我认为,python始终是一个方便快捷又功能丰富的小东西,拿来玩一些爬虫和自动化操作总是一个不错的选择,也可以锻炼一些编程思维。

以上便是这一学期的总结。

你可能感兴趣的:(python 结课总结与收获)