Skip to content

1901100081自学训练营学习15群 DAY10 总结 #310

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: source
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@

---
# '1901100081自学之旅'

*date: 2019-08-12 10:56:12*

*tags: ['自学营', 'Python']*

*ategories: '学员故事'*

>一只园林狗的日常碎碎念:

我喜欢并且决定忠于自己的专业,所以我希望能学更多的东西去丰富自己,从而在一个看起来并不平坦的道路上,开拓自己的方向。

*学员信息*
- 学号:1901100081
- 学习内容:Python 14天入门
- 学习用时:4+13+10+6+8+10+10 小时

*编程训练营学习感悟和心得*
---

## Day 07

>关于环境配置

之前环境配置一直都有一些问题,我每次打开的时候都会出现警告,但是因为自己觉得不影响写代码所以搜索无果后就没有重视,从而导致了这一次作业过程中出现报错,并且一再延误学习进程。环境配置的错误之一是自己的路径写错了,但是修改后仍然报错,之后**通过重装annconda得以解决**。如果你在其他软件也遇到了有部分的问题多方排查无法下手,或许不如也可以试试重装。

>关于编写代码中的if语句的应用

我开始区分中英文字符的时候,直接想到的就是用自己已经相对熟悉的if语句进行判断。代码如下:

```python
def stats_text(text):
n2=[]
n1=[]
if text >= u'\u4e00' and text <= u'\u9fa5':
n1 =stats_text_cn(text )
else:
n2 =stats_text_en(text )
return n1+n2
```
事实上,输出的结果只有英文单词的词频。

这是为什么呢?

因为这种判断的方法,是把整个文档区分了中英文后调用函数,而不是逐个的进行调用,所以结果不尽如人意。

这里有一个教练给出的深入浅出的例子:

就比如说: **这里有一群猫和狗我是应该判断这一群是猫还是狗?还是应该一个个判断他们分别是猫还是狗**

答案显而易见。

>关于代码中的历史问题和小差错

首先错误代码:
```python
for c2 in t:
for sy2 in sy:
c2=c2.replace(sy2,'')
if '\u4e00'<='\u9fff':
c.append(c2)
```

问题出在第四行,我没有给中文字符标定范围,因为一个字母也代表一个字符,所以出现结果是还对字母的出现次数进行了统计。但是我困惑的关键在于,我在第六天的测试中,并没有出现报错。后来经教练点拨我才知道,第六天的作业中没有出现错误的原因在于**第六天的测试里并没有出现中英文混合的字符串**,所以字母并不会通过stats_text_cn函数。有的时候错误不一定会直接出现,无论是生活中还是写代码,很多时候后面的错误都是因为前面的疏忽而造成的。

**但也正是因为这些错误,让我更清楚的了解了中英文在python里的不同**,更透彻的理解了之前split的用法。有时候我想,或许很多看起来小的错误不见得真的是因为自己粗心,或许其实是因为自己的不够熟练,了解的不够透彻,才会犯一些看起来似乎是低级的错误。这些错误在我们理解明白之后,才会成为真正的不会再犯的低级错误。**而所谓学和用的关系,大概就是我们在不断地发现错误、解决问题中,不断的学习、理解、熟练我们所学的知识。正因如此,才使的我们可以不断的进步。**



## Day 08
>关于官方文档

其实我每一次写学习时长的时候,都会有点纠结,我到底应该填多少....
因为我实在没有办法明确写出,我到底看了多长时间的官方文档。尤其是看英文文档时候那种昏昏沉沉,强行睁着眼看到双眼朦胧的时间,到底应不应该算进去。不算进去吧,觉得亏得慌,毕竟在电脑面前坐了那么久,算进去吧,又确实感觉没看懂什么。

说实话,在每一次作业都是靠着Google和视频完成以及我对着官方文档昏昏欲睡的时候,我甚至都能问出声来,我看这官方文档到底有什么意义!那个时候,李笑来同志那些有道理的话,基本已经被丧失理智的我忘得干净了。但是,我终究还是硬着头皮读下去了。**毕竟当初选择自学训练营就是奔着能有一个通过官方解决问题的能力**,能不在一些简单的问题上麻烦别人。但是在此要诚恳的感谢一下认真负责并且一定会看这个总结的星爵教练,不仅耐心的回答我关于编程的各种问题,还能回答我这种几乎是发泄性的问题。

但是也正是这一个小插曲,在我理智回归的时候,突然明白一个道理。其实**我来这不是为了写作业的,写作业的目的是更好更快的用到python**,这道理其实很简单,但是对于长期呆在学校里各种考试体系下的学生来说,是一个很容易被忽略的事情。可是我从高考结束,就一向自谕我已经是跳脱出这个陷阱的人了。我对学校的考试不以为然,对各种应付作业,临时抱佛脚的行为嗤之以鼻,我成绩算不上特别好,但是我清楚自己学了点什么,也笃信,真才实学才是立世之本。然而我这一次,真的差点就跑偏了,差点就又一次的以完成作业为目的。我想,不能耐心的完成官方文档,除了它本身的枯燥以外,最根本的是自己的功利心太强。太想早点完成作业,以为作业完成了,就是学会了。就像那些为了考高分不择手段的傻学生一样,以为高分就是好好学习了。

其实道理明白的够清楚,人是会自然而然的改变的。

想明白了道理,我也就能耐下心来,一字一句的,反反复复的读官方文档了。更惊喜的是,我过去一直以为我是很难从官方文档直接完成作业的,但是这一次的作业,我是模仿官方文档的例子写出来的。事实上啊,还是那句不变的道理,**学到才能用到**。


>关于参考视频

尽管我现在想想还是有点脸红,也有点心虚,但是我还是打算毫不羞耻的说出来。而且我觉得除了教练应该也不太会有人看这些总结了吧,毕竟一旦资源广了,资源就等同于不存在了。训练营里这么多的总结,开源与否的其实也就那样了了。

言归正传,我想坦诚的是,我过去的代码其实都是抄视频的。

当然,我还没有蠢到直接去抄视频的地步。我还是会给自己做做样子看看官方文档,并且比较认真的去查Google,还有一些书籍。这期间确实也会有一些解决方法,但是大多数的时候,我的结果往往是一无所获。然后忍不住点开视频就快快乐乐的抄了,甚至还会给自己一个名正言顺的理由:反正都是抄,抄官方的还能学到最优解。你瞅瞅,人骗自己的时候,也一样能道理通顺。

不过呀,人一旦想要改过自新,那真的是上帝都会来帮忙的。

在我决定不把作业完成绝不打开视频的第二天,教练就不再给我发当天作业的视频了.....也就是说,我想抄也没了。天地良心啊,我真的是先认识到自己错误的,还没来得及自己去改,就被监督着改了。

于是我满面愁容的打开第八天的作业,但是却第一次踏踏实实,心满意足的交了作业。于是我真的学会了用官方文档,甚至是第一次,记住了官方文档里稀奇古怪的英文单词。

后来我交了作业再看参考视频的时候,我才知道,自己写的代码确实有点幼稚了。视频代码的高大上,是我不抄,确实写不出来的。然后我从善如流的又在官方文档里找出了视频里的内置函数定义,在对教练一次又一次的骚扰里,也搞明白了视频里的代码。

承认自己骗自己的事情确实有点丢人,如果你恰巧看到了,无论有没有收获,都悄悄的哈,嘘~~~


## Day 09

>关于进度

我原本觉得14天的课程,无论如何也应该在30天的假期里做完了。但是现在觉得不一定了,假期中各种芜杂的事情接踵而至,总觉得安排不过来,每天的工作安排的多了,觉得时间碎杂,安排的少了,又往往安排不开。加上自己的惰性,也不知浪费了多少时间。原本编程的课程应该是我假期最重要的事情之一,但是眼见着很多事情,假期结束就是截止日期了,还没有做完,就觉得心下慌乱。不时也怀疑过,自己是不是太贪心了,什么都想学的后果会不会是什么都学不会。我清楚自己的平庸,却常常有那么一分的不甘在隐隐作祟,让人蠢蠢欲动。夜幕降临时,又身心俱疲,甚至轻言放弃。

距离开学还有不足十天,我不太确定是不是能够在暑假期间圆满的完成这次任务。尽管我对开学以后的生活并不确定,也不再妄求能有所谓轻松的大学生活,但是我还是希望能够扎实的把这十几天的任务认真的做完。把之前犯下的错误和留下的漏洞补好,不着急着毕业。


>关于查资料

随着进度往后,我越来越发现,官方文档比google还要好用了。大多数时候我从Google上找到的资料都不再像以前那样拿来就能用了,反倒是慢慢能看懂官方文档以后,可以从那里找到解决方法。有的时候以前的东西忘记了,还能直接通过官方自带的搜索,迅速找到自己需要的内容。

还有大家提交的issue也非常有用,我大多数时候破题,都是从那找到的方法。

>关于小毛病

我有时候真的觉得我的粗心大意甚至是基因里带出来的,除非极度熟练,否则基本无法做到周全。常常丢三落四,对很多明显的错误熟视无睹。不过我觉得若真的能一直学着编程,我说不定就能慢慢修正这个毛病,毕竟这个差之毫厘,失之千里的东西,动不动就报错,只能在一次次的纠正中,变的认真起来。

>最后

感谢一下教练的耐心和认真,辛苦!

## Day 10

上次写的总结忘记保存了,结果打开以后就消失不见了,有点点难过,但是只有一点点。

作业交上去的时候还有点担心,这一次的作业会不会出什么差错,这是我交了这么多次作业,第一次有这样的担心,大概是因为这一次作业是真正意义上第一次相对独立的自己完成的作业,通过搜索,通过一些积累的知识。中间也会出现一些错误,但是不至于像以前,每一步操作都会卡住,都要去找教练,常常让人有些沮丧和脸红。大概这就是福祸相依吧,忙碌让我不得不独立。

即便生活并不算顺利,但是还是会时常惦记着这份作业,这个悄悄学着的东西,让我有一种与如今现实生活隔离的感觉。它与我的专业无关,和我的学习无关,和目前忙着的事情以及未来要做的事情都无关。像是当年画素描的感觉,没什么具体的意义,但是可以不用去思考其他的东西,不用焦虑,不用去考虑未来,甚至还可以用来逃避现实。很奇怪,我大概是这里为数不多的拿编程来逃避现实的。可能是因为在我原本未来的现实里,是没有编程的。只是对新东西的好奇和一时冲动,就学了起来,让自己不会因为单调而变得浅薄。

这次的作业其实也不算太难,基本就是pip安装、结巴分词的使用和len函数的应用。中间除了一次因为打开错文件而反复找教练问,甚至还以为见了鬼的乌龙事件 以外,基本上没什么特别大的坎坷了。只是过去学的很多东西要不断的复习,其实我知道因为之前的错误,我确实基础没有打好,要抽出一些时间去弥补。关于字典的一些方法使用,其实我还是有点说不清楚的不太明白,但是因为自己的模糊,还没有理解到可以提问的样子。大概容我再读上几遍,起码自己有一个大概的理解,能够提出清楚的问题,我再去问,效果会好一点。

这次的总结写的不太好,已经不太像是一份总结了,倒有点像是一篇日记,一份没什么意义的碎碎念。
Loading