1901100351-自学训练营20-python入门
学员信息
- 学号:1901100351
- 职业:文字工作者
- 年龄:年近不惑
- 目标:探索这个陌生的世界
Day 01
- 学习内容:使用github进行协作
- 学习用时:60分钟左右
学习笔记
收获总结
连猜带蒙完成任务,约略理解github协作模式和版权。
遇到的难点与问题
没有及时学会打卡和按要求记录学习心得,直到第4次作业时才摸索出来。
Day 02
- 学习内容:配置本地运行开发环境
- 学习用时:0
学习笔记
收获总结
由于之前参加过体验营,在教练的帮助下,环境已安装好。
遇到的难点与问题
后来发现,体验营安装的环境其实不完全,后来又学习安装jupyter lab 和 git
Day 03
- 学习内容:编写简单计算器程序
- 学习用时:300分钟
学习笔记
收获总结
学习有效搜索、模仿,感觉正式进入代码世界。
遇到的难点与问题
完成任务初始阶段,感觉指导文件太过模糊,确定具体任务就花了好长时间;直到搜索到战友的作业,才真正明白任务,复制粘贴后尝试阅读,大体结构能够理解,若干细节还有问题,后来通过阅读与搜索才逐步解决。
Day 04
- 学习内容:控制流程,打印乘法表
- 学习用时:120分钟
学习笔记
收获总结
01 经过前3次作业,对自学有了新的认识,没有急于完成作业,先仔细阅读相关文件,再去探索,实际完成任务时间大大缩短。 02 初步理解控制流程,理解若干语句和常用符号。
遇到的难点与问题
01 感觉一大堆的符号扑面而来,只能慢慢理解和掌握,包括符号的用法,甚至是否空格的细节,都需要注意。 02 细心和耐心,特别重要。阅读,探索,使用。
Day 05
- 学习内容:理解数据容器,处理字符串、统计字符串次数、操作数组
- 学习用时:约10小时
学习笔记
收获总结
这一章涉及的知识点比较多,消化起来需要一个过程,但通过搜索、比较、修改,大体上知道字符串、列表、字典的基本用法,尤其是通过搜索,能够完成一些不太复杂的任务。
遇到的难点与问题(是否解决)
复杂任务的分解,还是有一些问题,比如数组操作中为何要先初始化字符,翻转后的拼接为何是这样的?
for i in range(0,len(array)): string=string+str(array[i])
以及reverse与string[::-1] 的使用有何区别,还是未能彻底搞清楚。
Day 06
- 学习内容:自定义函数的基本概念与运用
- 学习用时:4h
学习笔记
收获总结
工作中会涉及到大量重复性动作,通过自定义函数就可以把某个单元的重复性动作进行封闭定义,然后自动重复运行。
这是提高工作效率极好的一个思路和方法,但在自定义函数中有许多应注意的地方,比如要把动作进行科学分解,要注意可能出现的细节,等等。
遇到的难点与问题(是否解决)
实际操作中,第二次才成功。第一次采取DAY5作业中的思路,直接加自定义函数,但卡在一个细节上,没有找到解决办法,最后只好另起炉灶,参考其他战友的作业,换了一个思路才成功。
在编辑器中始终显示有一行代码中有错误,不知道如何修改,但貌似可以正常运行,就没有深究了。
Day 07
- 学习内容:学习和理解模块调用
- 学习用时:20分钟
学习笔记
收获总结
自定义函数的目标是为了用,尤其是重复地用。这个时候,把任务中的重复性动作拆解出来是第一步,把重复性动作封装成一个函数模块是第二步,调用这个模块就是第三步。
遇到的难点与问题(是否解决)
在调动模块时,一定要注意调用的路径。如果在同一个文件夹可以忽略,但如果在不同文件夹就必须写清路径。
Day 08
- 学习内容:学习python中的异常处理
- 学习用时:60分
学习笔记
收获总结
在DAY7作业的基础上,修改参数,主要是if…else的使用,检查参数是否符合要求,如果不符合要求就给出提示。
遇到的难点与问题(是否解决)
函数设置好后,尝试在参数中设置了一些数值,但运行后仍然是之前的结果。
Day 09
- 学习内容:学习标准库的调用
- 学习用时:60分
学习笔记
收获总结
标准库就相当Python中常用函数的快捷方式,也是编程中常规武器库。如果能够熟练掌握应用,那肯定可以大大提升工作效率。
遇到的难点与问题(是否解决)
作业总体上不难,通过阅读与搜索,能够大致读懂别人的代码和逻辑,但如果不借鉴,自己仍无从下手。过程中调用‘tang300.json’出现问题,在教练的帮助下解决,理解了调用地址的概念。
Day 10
- 学习内容:学习使用第三方库
- 学习用时:120分
学习笔记
收获总结
01 阅读和理解第三方库,相当于更大更复杂的函数调用。 02 在上一次作业的基础上,根据作业要求,写出第三库调用及有条件打印的代码,顺利完成任务。
遇到的难点与问题(是否解决)
在安装第三方库时遇到一点问题,然后搜索,尝试不同方式顺利解决。
Day 11
- 学习内容:综合利用几种第三方库统计一篇公众号文章的词频
- 学习用时:180分
学习笔记
收获总结
01 进一步熟悉第三方库的安装; 02 对库的调用和函数定义有进一步了解。
遇到的难点与问题(是否解决)
01 自定义函数的某些表达虽然写出来了,但为何这样写,仍不太清楚; 02 在发邮箱的具体操作中,卡了很久,老是显示:
socket.gaierror: [Errno 11004] getaddrinfo failed
多次搜索后,调试了邮箱的SMTP和电脑的DNS,但仍未能解决。最后发现,“输入发件箱密码”,其实是要输入“发件箱授权码”(即在开启SMTP时设置的“授权码”)。
Day 12
- 学习内容:将之前的作业打包,通过wxpy在微信中实现有用的服务
- 学习用时:120分
学习笔记
收获总结
通过阅读与搜索后,完成代码,大体上理解程序打包与调用的流程,对实际场景中的应用也有初步感受。
遇到的难点与问题(是否解决)
代码调试时,总是显示登陆错误,pass_ticket。进一步搜索后才知道是微信官方对登陆网页版的限制,暂时也没有更好的办法破解,后续实际场景中的应用未能完成。
Day 13
- 学习内容:学习使用第三方库,把数据做成图表
- 学习用时:60分
学习笔记
收获总结
通过阅读参考文献,在没有参考其他同学的作业下独立完成,感觉对编程的理解和应运有了进步。
只字不差地阅读,理解结构,理解细节,是完成项目的关键!
遇到的难点与问题(是否解决)
把数据转化成可视为的图表,关键是把数据结构梳理出来,核心在X和Y轴如何表达。过程中对个别设置还未能完全理解,但通过搜索和应用大致掌握,关键还是要在用的过程中加深理解。
依样画葫芦算是“快速入门”么?
想学编程大概已有两年多,主要是听了许多牛人,包括笑来老师的介绍后,越来越觉得编程是个重要的工具。虽然从自己目前的工作来看,似乎还看不出有什么具体的应用场景。但还是抽出时间,从2019年的8月中旬开始,用了将近2个月的时间,学完了“入门14次课”。
总体感觉,这是一个陌生而庞杂的世界,需要更多时间和精力去摸索。
对于入门而言,14次课确实不多。但这的确是一个陌生而庞杂的世界,刚开始接触时一度感到崩溃,大概从第5次作业开始才慢慢体会到自学的精义。
自学不是一个人默默地学习,而是仔细阅读、快速搜索后有社交的学习。
通过仔细阅读材料,细致搜索资料,就像野外生存过程中找到一些必要工具后一样,大体上能够比较顺利地完成作业。到第13次作业时,在结构上对编程的理解,似乎有了感觉。
必须承认的是,尽管每次作业平均都要花3个小时以上,但感觉仍然远远不够。在完成作业时,多数情况下对整体的逻辑结构大体能基本搞清楚,但少数细节还是不甚了了,甚至很多时候都是搜索资料后的依样画葫芦。
每次作业后,都会对照教学视频再做一遍,但有时仍会有不些难于理解、甚至无法解决的问题。所以,才不得不感叹:
依样画葫芦算是快速入门么?
回答这个问题,可能仁者见仁,智者见智。我自己的理解,关键不是看你画得好不好,像不像? 如果通过深入、仔细地阅读、搜索和探索,画得好、画得像,甚至能够以不同角度、不同层次地画出来,那这个入门的质量肯定不会差。
而我自己显然没有达到这个程度。这既有时间、精力的因素,也有其他因素。比如,对于这个技能的学习和掌握,还没有成为目前的刚需。
但既然大体上入门,就跟之前的完全不懂、不会有了区别。
比如,在学习编程的过程中,就习惯了使用markdown写文章,学会了公众号的一键排版,虽然远没有到精通和完美的程度,但毕竟是进了一个不太一样的世界。
从入门课的改进看,教练和教学视频的质量还需要提高。但如果用自学的定义来审视,这些遗憾都不是问题,更重要的是你的深度阅读、搜索、摸索和有效交流。
一个新的世界在打开,但风景需要进入你有足够的耐心。
由于之前的失误,理解不到位,把前4次作业打卡一次性补上,不知是否算数?
@liujiayi0042
完成第5次作业打卡,请收查 @liujiayi0042
完成第6次作业打卡,请查收 @liujiayi0042
完成第7次作业打卡,请查收 @liujiayi0042
教练-练巨人,请查收DAY8作业 @liujiayi0042
完成第9次作业打卡,请查收!
@liujiayi0042
完成第10次作业打卡,请查收!
@liujiayi0042
教练-练巨人 @liujiayi0042
教练-练巨人,完成第12次作业及打卡,请查收~
@liujiayi0042
完成第13次作业打卡,请查收 @liujiayi0042
完成第14次作业打卡,请查收 @liujiayi0042