1901100240-自学训练营学习19群-python入门打卡心得

学员信息

学号:1901100240

day1

  • 学习内容:下载使用Github

  • 学习用时:3小时

收获总结

  • 除编译器之外的重要协作软件Github,其功能类似于编程版本的Google Doc,可以允许多人同时编程。
  • 对每段更改保有历史记录,可回溯任意更改,避免代码被覆盖,且可回溯任意版本
  • Github建立在分支架构之上,主分支负责程序主体,dev分支则可供个人修改使用。个人修改的程序可通过pull request请求并入主分支。此功能保证多人同时协作的同时,亦可以避免程序被个人错误更改。
  • 通过folk加入其他repository,通过clone下载到本地,通过commit讲更改提交到主分支,通过pull request将修改提交

遇到的难点与问题(是否解决)

  • 对Github整体构架及操作目的了解不足 (已解决)
  • 对本地及云端操作可能产生的覆盖记录问题有所担忧 (已解决)

day2

  • 学习内容:安装Visual Studio Code 并编写程序 ‘hello world’
  • 学习用时:1小时

收获总结

  • Anaconda-Navigator 综合了数个python编译器
  • Visual Studio Code适合快速编译python shell内容,界面视觉效果较好。Spyder适合做短代码测试,界面一般
  • Visual Studio Cose 和 Spyder 保存的代码可以自动同步,方便转换
  • 在python shell中需要print将数值显示,否则默认隐藏

遇到的难点与问题(是否解决)

  • Visual Studio Code 安装以及配置问题(已经解决)
  • Visual Studio Code 界面熟悉 (已经解决)

day3

  • 学习内容: 编写计算器
  • 学习用时:0.5小时

收获总结

  • 以try except保证输入是数字

遇到的难点与问题(是否解决)


day4

  • 学习内容: 打印99乘法表
  • 学习用时:0.5小时

收获总结

  • print时以’/t’控制同行空格打印
  • print时以’’换新的一行

遇到的难点与问题(是否解决)


day5

  • 学习内容: 字符串,list,字典操作
  • 学习用时:2小时

收获总结

  • list操作可采用内嵌函数进行
  • 英文分词可采用re包,re.split进行
  • re.split时需要注意去除特殊符号
  • 字典的排序采用sorted(X.items(),key=lambda X:X[1],reverse=True)

遇到的难点与问题(是否解决)


day6

  • 学习内容:词频统计以及注释
  • 学习用时:3小时

收获总结

  • 使用符号’#’进行注释,规则为解释代码目的写在代码前一行,解释变量现在代码同行
  • 汉语分词逻辑与英语不同,无空格区分,故无法采用re.split
  • 汉语可使用list进行分字,再删除后续标点符号

遇到的难点与问题(是否解决)


day7

  • 学习内容: 模块及调用
  • 学习用时:3小时

收获总结

  • 模块调用同样采用import
  • 区分中英文需要先将字符串转为utf-8,分别取其中中英文赋值范围(可与网页搜索),再转换成原字符串
  • 字符串生成需要采用生成器

遇到的难点与问题(是否解决)

  • 中英文区分问题(已解决)

day8

  • 学习内容: try except,final,raise的理解及应用
  • 学习用时:0.5小时

收获总结

  • 通过try except避免error使得程序继续运行

遇到的难点与问题(是否解决)


day9

  • 学习内容: Counter函数的调用和词频统计
  • 学习用时:1.5小时

收获总结

  • import文件时路径是关键因素
  • 路径分绝对路径和相对路径
  • Counter函数的调用和dict统计的对比并未有明显优势

遇到的难点与问题(是否解决)


day10

  • 学习内容: jieba,第三方模块的安装和调用
  • 学习用时:2小时

收获总结

  • 通过jieba进行词频统计
  • jieba输出为不可见的list形式

遇到的难点与问题(是否解决)

  • 中文分词问题(已解决)

day11

  • 学习内容: yagmail(邮箱库)、 requests(⽹网络请求库)和 pyquery使用
  • 学习用时:4小时

收获总结

  • 邮件发送前邮箱需要授权Pop/SMTP
  • 授权后以授权码代替密码
  • getpass默认隐藏密码,输入不可见
  • yagmail.SMTP()中host需要输入,否则出现超时错误

遇到的难点与问题(是否解决)

  • 邮件发送问题,网络设置(已解决)

day12

  • 学习内容: 微信自动聊天程序wxpy使用
  • 学习用时:3小时

收获总结

  • 微信外链的使用

遇到的难点与问题(是否解决)

  • 微信被封问题

day13

  • 学习内容: matplotlib,numpy的使用
  • 学习用时:2小时

收获总结

  • matplotlib不支持中文,会显示乱码。
  • 通过代码”lt.rcParams[‘font.family’] = [‘sans-serif’]
    plt.rcParams[‘font.sans-serif’] = [‘SimHei’]”以允许标题等采用中文

遇到的难点与问题(是否解决)