- A+
如果学过c语言,python可以两周入门,如果学过c++,一周入门。
之后的事情就是漫长地精益求精过程。python有多神,这是没有太大意义的,只有大神存在,任何一门语言都很神。
Life is short,I use Python .很多了解了python的人都会拿这句话说明python的友好,但我想说的是如果你想进入软件开发这个行业,python是个很好的选择。
你将深入了解面向对象,但又不至于陷入像c++或java那样苦涩、繁杂的语法陷阱中举步维艰。
你也将真正体会编程的乐趣,因为你可以快速地实现自己的小项目,或者仅仅是个批量修改文件名这样的小工具,相信这会是一个很好的开始。
乐趣的引导会使人变得疯狂,深入地探究将真正带你走进编程的宏图中。你将探索真正好的代码是什么,什么是架构,什么是模式……也终将成为人们眼中真正的程序猿、攻城狮。
我的第一份工作是在一个逻辑程序员加上中国著名的游戏公司。我必须熟练使用C++,但在一开始,我只写了一个脚本类似于C++,后来被一个开放源代码的脚本引擎的AngelScript改进。学习游戏开发的过程,填充数据,用脚本定制各种任务、副本等。第一年也很感兴趣,第二年就开始了。
后来,我们熟悉了整个系统和参与的C++代码段。它涉及道具、任务等逻辑。那段时间最困难的部分是UI系统。当时的UI系统是利用XML来拼出接口,然后把它与C++一样的脚本逻辑。从开始学习,到最后使用各种各样的问题,时间长了。
在实际工作中,写一个程序的热情已被削弱了一点点。我认为可能有更多的程序员会遇到和我一样的问题。因为爱好和走在这条路上,而琐碎的工作却摧毁了最初的冲动。当我成为一名负责程序员的主管时,我甚至有一种感觉,觉得什么都会,但是除了项目任务以外的东西,什么都不出来。与高中自我相比,甚至还有一点点倒退。
直到有一天,我读了一本书《黑客与画家》。
当你困惑时,吸收很多知识,偶尔打开一扇窗。
《黑客与画家》充满了浓厚的技术自信和足够的技术信息。它就像一个知识丰富的技术大师,渴望体验生活,教你,为你指明发展的方向。它揭示了对传统编程语言的蔑视和对Lisp的崇敬。它认为,巧妙的语言,加上高度抽象的代码,由智能程序员实现,将带来巨大的生产力提高,使开发更快,更少的缺陷,使一两个开发人员也可以支持一个网站,具有巨大的经济效益。
在web领域,动态语言无处不在。今天,黑客和画家的判断似乎还没有被很好地讨论过。现在,动态语言已经成为许多领域的主流,这与作者的不同。但对我来说,那是大海中的一道光芒。
虽然Python书的观点是很重要的,但在当时,Python 2。X已经取得了很大的进步,和一个同事推荐的,所以我把自己奉献给1的研究。十后写一些小的运动项目,我发现一个地方在我的微雕作品——用python实现数据表格分析程序和检查表中的数据错误和逻辑错误。这种表单处理工具在游戏中起着非常重要的作用,非常适合用脚本灵活扩展函数。
第一个实现的简单版本可能是使用它的方式。
import mb t = mb.table( "data/index.txt" ); l = t.get_line( 1001 ); # 1001 is line index data1 = l.get_int( 2 ); # 2 means colum 2 data2 = l.get_str( 3 );
这个代码的主要问题在哪里?在读取数据时,程序员自己想要指定数据类型。get_int,get_str,get_float等等。
不幸的是,幸运的是,当我用一个特定的云磁盘保存我的代码时,我被误认为是一个时间,导致了许多代码写的公司,其中包括在家里。强迫我重写几乎整个程序。这一次,在同事的帮助下,我意识到了这种用法:
import mb t = mb.table( "data/index.txt" ); l = t[1001]; # 1001 is line index data1 = l[2]; # 2 means colum 2 data2 = l[3];
上面的代码实现完全相同,但有两个变化:1 [ ],而不是get_xxx下标操作符()函数调用,更简洁。2、阅读不需要指定类型,当执行,数据自然是整数,数据自然是一个字符串。
这种认识,对于当时的我来说,是思想上的一个重大突破!
为什么这么说?因为问题的类型很强。在python中,我使用了一些非常简单的过程,让MB库的底部自然地处理类型。你知道吗?在C++中,这样做!
C++用来推断一个类型,使用模板的繁文缛节的技能写,一般的代码。而且,结果,仍然不能做到这一点使用动态语言。换句话说,显式强类型特性不仅是限制程序员减少bug的工具,而且也是实现高抽象系统的一种束缚。这是一件非常有趣的事,对我来说是一个很大的触动。我不知道读者是否能理解。
在写了表格分析库后,我生命中的一扇门打开了。
我回到了自由写作的时代,就像我的高中时代一样,比那时更简洁,更可能。
我可以任意编写代码,几行代码可以实现树操作,复杂的嵌套字典。我似乎能够操纵任何复杂的数据结构或复杂递归。只要我想知道,我根本不需要太多的编码时间。当时,我以为我已经掌握了葵花宝典,非常有活力,
后来,我研究了wxPython库仔细,实现游戏类似的Web框架,并使用Python也进入了一个新的阶段。当然,Python有很多缺点,而不是语言层,其中大部分是虚拟机级别。
在学习Python的过程中,我总结了项目开发的三个要点:开发速度、速度和维护难度。金三角软件项目。这个规则可以应用到所有软件项目中,作为一个相当大的视角来查看项目。有趣的是三角形不能在三点同时得到高分。
也许大多数人都无法理解语言对程序员职业生涯的影响,所以本文是这样写的。Python对我的影响是巨大的,而Python已经升华过去并将继续影响我的未来。