学习python,我带上了自己的独特需求,可是在这个过程中,我遇到了很多很多问题,因为我是一个真真正正的零基础学员。
因为在现实生活中,我的圈子没有涉及到编程领域,所以在学习的过程中,我显得非常的孤独与无助,能让我走下去的动力,非常简单,只不过是多年在生活中磨练出来的基本常识,对目标坚定不移的信念。
然而,信念毕竟是虚无的力量,就好像憋足的一口气,一旦泄气,马上就要面临永久性远离。
我已经凭借自己强大的意志,每天超过8小时的学习时间,持续1个月不间断的学习python,只是进度比想象中的要慢很多,很多。
我想,如果我在玩任何一款游戏,哪怕是EVE那种星际游戏,我也至少掌握了必备的游戏规则。
可惜的是,实际进度,似乎比自以为的还要欠缺很多。
在一些列,元组,列表,字典,集合,字符串。循环,函数,数据类型……基本规则的了解之后,感觉自己连边都没有摸到。
接下来,我花了足足二十几个小时去重点学习,面向对象。
类,元类。
实例,实例化。
属性,对象属性,类属性。、
属性操作:增删改查。
方法,实例方法,类方法,静态方法。
私有化。
继承,单继承,多继承,
封装……
当然,学习了好几个不同视频,文档。
到最后,实在忍不住吐槽,不过想想自己想吐槽的点,普遍存在其他领域,所以就简单说说了。
玩了十几年电脑,我实在是觉得,类似说明文的东西,真特么害人。
其实,这些编程概念真的非常简单,简单到一个小朋友都能弄明白,而之所以现在搞得一个成年人都云里雾里,就是形容词,以及名字的呆滞。
就说,继承这个概念吧!
当然,一个类,引用了另一个类的内容,用继承来说,其实也没什么毛病。
但是,因为,名词是继承,然后在学习过程中,就出现了传播局限。
这就好像那些文人,舞文弄墨,明明一件简单的事情,非要绕一个大圈子,不让你死一堆脑细胞,决不罢休。
白话来说,就好像那些行话,有那么一层烦人的加密机制。
如果要说这个继承概念,无非就是你在D盘,创建一个文件包A,然后这个文件包叫做类A。
在文件包A里放一些音乐文件,叫做属性,其实就是一些变量,譬如X = 1。
在文件包A里放一些播放器程序,叫做方法,其实就是一些函数,譬如def jia():
(那么我在桌面要播放音乐,我就先创建一个播放器的快捷方式,然后导入音乐,就可以听歌了。
这个创建快捷方式的行为,就和变量一样,F = 类名。)
继承是怎么继承呢?就是创建另外一个文件包B,如果这个文件包B引用了文件包A,那么就叫文件包A的子类包。
就是这么简单的一个概念。
说白了,就是一个目录关系,总目录,分目录,子目录,具体章节。
但是,那些讲课的人,总是绕来绕去的,为什么?
因为,在他们的感觉中,这个关系里面还涉及到了一些内置的运行机制,他们觉得一般的举例,没有办法具体描述,里面的相关机制。
例如,属性和方法,在读取的内置规则。
其实,也是超级简单的一句话,先左再右,由近至远。
这就好比,这些业界内的人,生怕你不知道为什么要这样运行一样,然后长篇大论。
我只想说,教育领域的人才,真的很重要。
我记得,有次带侄子去看电影的时候,他非常不解的问,为什么大人们锁电瓶车,非要锁前轮。我只是把锁递给他,我说你想锁那个,就去锁那个。然后,他发现电瓶车的后轮因为电机的关系,U字锁根本锁不了。最后,只能乖乖的去锁前轮。
再是另外一种情况,就是讲得让你怀疑,他自己都没有搞懂。
其实,这种类的设计,无非是想在代码面板上,设置收纳箱,然后把代码有序的整理起来。以便在后期,代码量太大的时候,便于再次操作,同时,也算是一种优化归总,优化代码运行效率。
明明是生活中几乎是每个人,都时时刻刻已经知晓的规则,搞得人晕头转向。
也不知道,面向对象,这个词汇是谁翻译过来的,听着就莫名其妙。
现在来说,我表示,我仍旧写不出代码。
这个时候,很多同学老师,就会说,你小子不要光顾着看视频,看书,技能是在操作,执行的过程中逐步掌握的。
你丫倒是去写,去练啊!
写?练?
很显然,自学的缺陷就在这个时候暴露出来了,系统性。
我倒是想写,我也是想练,关键,我特么写什么?练什么?
这个python的基本框架,其实也就那么些东西,他的强大,主要是体现在调用别人写好的库。
而这个被号称强大的库,就像迷你世界里面的一个个图,和魔兽RPG里的塔防图……,简直如出一辙。
你学个Python,你以为你会了什么?
就好像你玩英雄联盟,你只是明白了最最最基本的规则,角色的移动,技能释放,装备的购买……根本就是然并卵的东西,也就是说,那些世面上所谓的多少天让你学会,什么月薪立刻多少K,简直就是一派胡言。
你还需要去寻找上路,中路,下路,辅助,打野,这种不同位置,与之匹配的英雄,而且就算你掌握了某个英雄,还远远不够,英雄池的深浅,不仅限制了你的路线选择,同时还限制了你对位的优劣。
而且,版本的更迭,更加让你无法停止学习的步伐。特别是遇到重大改版,类似英雄重做,直接让你战力大减。
然后,同学和老师又会跟你说,小伙子你连走都没有学会,就担心跑的问题,有点过了。
技术嘛!!!又不是编程才称之为技术,我不想因为学一门技术,就像那些初学者一样,像个失了智的低能一样。
我只想说,除了那种和人生理有直接衰退联系的技术,也就那样吧!这就好比你在街边去理发一样,人家理发师不也掌握了一门技术吗?
所以,在大量枯燥感充斥的内心,我拼命的给自己喂鸡汤,打鸡血。
作为初学者,仅仅把注意力放在一个大领域的小领域中,是远远不够的,因为如果只会一门编程语言,根本只是一个开始。
而学一门编程语言,更是这个开始的开始。
于是,我找到了我需要用到那些库,以及这些库的源头网页,然后从编写这个库的地方开始学习。
这是一个非常重要的逻辑,否则,你看那些视频,书,你就会疑惑,这个单词怎么会是个命令?除了这个命令,还有那些命令?因为他们只讲他们认为常用的命令。
他们以为这是一种精简,其实,这会妨碍你理解整个库的框架,以及设计思路,和整体原理。
譬如,Matplotlib,Pandas,这两个库。
因为你一脸懵逼,所以你怀着一颗敬畏的心去学习,跟着他们的思路去追寻事物的本质。
最后他们绕啊绕,绕啊绕,直到把你绕得晕头转向,你才缓缓弄明白,哦,这特么不就是用编程语言去模拟你用鼠标操作电脑上创建出来的表格文件吗?
什么制图,什么划线。
作为一个零基础初学者,他们根本没有意识到,一个普通人只能简单的使用一下那些表格,但是,他们默认你不仅知道他们在说什么,同时定义你能熟练,甚至精通使用那些XLSX表格。
并且,他们觉得你必须拥有相关格式基础知识,比如CSV具体代表什么。
掌握基础,其实我不觉得反人类,我认同它的必要性。
但是,谁能用人话说那么一句,如果你们没有基础,我有必要让你们明白,这个库它就和你用鼠标去操作列表一样。
零基础,零基础!!!
说实话,也许,我的这些吐槽,在那些业内人士看来,简直就是个笑话,明明是你的无知,偏偏要怪别人无能。
自学的时代,自学编程?
我呵呵你一脸!
你要么别用零基础,或者新手,这种关键词,用了,你就要兼顾到,我可能是个保安,我可能没用过电脑。
什么知识,都需要一个又一个铺垫,慢慢构建出一套体系。
好吧!是我大意了,没有闪。
反正,现在踩出这么多坑,我也麻木了,在达到自己的目标之前,我且行且忍受!