与C语言,c++,java不同,python作为学校不开设教学的编程语言起初蒙上了一层神秘的面纱,看似距离我们很远。但接触过后发现,编程语言的思想相通之处颇多。有了学习java等语言的基础,学习起python来也自然的多。
初来实习,师傅并未着急灌输“硬知识”。“求木之长者,必固其根本;欲流之远者,必浚其泉源”,而是再次带我们回顾计算机发展史,计算机基本知识。内容涉及计算机灵魂—“算法”,就计算机发展而言不得不说的数位大家—图灵、冯诺依曼、布尔、香农,两种理论体系和语言迥然不同的计算机—电子计算机和量子计算机,计算机基础结构等。内容虽说和学校中的所授知识大相径庭,但却不乏新知识和师傅的精彩讲解。教授者循循善诱,聆听人温故而知新,也自得其乐。
实习第二天,师傅就以java为跳板,从java基础编程和安装起,帮助我们捡起许久不用的编程语言。在具备基本的编程语言安装能力和编程思想后,便正式进入python的学习。Python的神秘感一层层揭开:可动态伸缩,但有类型占计算机一定内存的变量—熟悉的数组(list类型),Bool类等;与java,C语言类似,仅仅写法存在差异的循环结构,条件判断;独特而有趣的字典类型使用也能鼓捣许久。一切都很自然而然,好像python我们之前就接触了一般,这可得感谢编程语言的通性。
当然,除去老生常谈的变量和语句结构外,我们还接触到了python中的matplotlib模块(类似于MATLAB,用于可视化),运用于人工智能的K-means算法与KNN算法,面向对象,网络爬虫等,而这部分才是真正让人受益匪浅的东西。有了基础的语法知识,更深次的东西才接踵而至。经过可视化后的图形,不再是晦涩难懂的编程语言,变成了“跃然纸上”的图像,可以是二维平面,甚至三维模型。可视化仅仅是开头,难点还在后头。K-means算法和KNN算法虽然是人工智能的基础算法,但在不调用python中自备的模块函数条件下让自己用python语言实现着实有点麻烦。好在有同事的交流和师傅的指导,也算顺利完成任务。当最后看到经过自己编写的算法将商店用户按照消费金额和周期分为相应的消费等级,看到算法能实现根据电影样本判断其他电影为何种类型电影的时候,内心的喜悦不言而喻。
此外,除了懂得python程序的编写,更可贵的是编程的思路,或者说思维模式。一种更加全面思考程序,不再局限于固定题目的编程思路。之前所学所思往往限制在较为简易的条件下,当面对灵活的设计题目,往往捉襟见肘。每次任务老师都讲解不同的思路。自己也有不同的想法,虽然不能说完成的十全十美,但也在尽自己能达到。
两周,说长不长说短不短,所学所授一言两语无法表达。不可置否的是,收获颇多。从一种对一门编程语言完全陌生的状态到入门,中间乐趣很多,编程的烦恼也很多。可以为一个函数的成功运行开心数秒,也能在一个小问题上纠结两小时。回想起来,方知程序员的不易。至此,python的学习之旅也告一段落。感谢此次实习,填补了我生命中的一片空白。无论往后的工作是否需要python这门编程语言,我都能时刻准备着。需要时强化它,空闲时储备着。老实说来,我也期待未来的生活里有你的影子,python!
相关推荐: