作业三

 

   2017****7227

   崔济巍

   码云项目仓库:https://gitee.com/Number-one/word_frequency.git

2) 程序分析,对程序中的四个函数做简要说明。要求附上每一段代码及对应的说明。

  1.读文件到缓存区

  作业三_第1张图片

  2.统计每个单词的频率

  作业三_第2张图片

  3.输出Top 10 单词

  

  4.导入argparse库用于解析命令行数据,依次执行函数

  作业三_第3张图片

  在命令中输入python word_freq.py Gone_with_the_wind.txt运行代码
  结果如下,输出了词频Top10的单词和次数:

3) 性能分析结果及改进。

  使用cProfile进行性能分析
  python -m cProfile word_freq.py Gone_with_the_wind.txt

  

  作业三_第4张图片

  作业三_第5张图片

   上图显示有1732200次函数调用,程序总共耗时386.826秒

    回到代码中发现process_buffer函数中的for循环内有一句if word in word_freq.keys():
  而遍历字典循环中每执行一次就要调用字典word_freq的keys()方法,但实际不需要再提取字典中的值(keys),直接判断word在字典word_freq中是否存在就可以了,所以去掉keys()          法,将代码修改为if word in word_freq:

  作业三_第6张图片

  作业三_第7张图片

  优化后显示有891908次函数调用,程序总共耗时0.702秒

4) 给出你对此次任务的总结与反思。

  对于Python还是没有那么深的了解,运用的不那么流畅,对自己不满意。在完成作业的过程中我寻求了同学的帮助,认真的向他请教。以后我会再接再厉争取做得更好,让自己更完善。

  这次收获了很多,对git运用又熟练了一些,通过同学的操作,我自导自己的不足,虚心向他请教了一番,我会认真对待每一件事。

  谢谢老师! 谢谢助导!

你可能感兴趣的:(作业三)