当前位置: 首页 > 后端技术 > Python

从C++到Python,我为什么不能没有它

时间:2023-03-26 18:53:38 Python

##摘要Python有这么神奇吗?打算学习一下Python,但是好像看到了一个新的世界。Python在他们嘴里好像无所不能,写一些自动化程序,黑别人网站,做游戏插件等等看起来真的很牛逼,那么,Python真的有那么牛逼吗?今天我们就借着这个问题来看看为什么我的生活离不开Python。前言我的第一份工作是国内某知名游戏公司的逻辑程序员。要求的技能是C++,但一开始我只是写了一个语法很像C++的脚本(后来才知道是从一个开源脚本引擎AngelScript改成的)。学习游戏开发的流程,填写数据,用脚本自定义各种任务,地下城等等,第一年的时候,我还是很有兴趣的,但是到了第二年,我就失去了兴趣。后来熟悉了整个系统,也参与了C++部分的代码。涉及到道具、任务等逻辑,当时最难的就是UI系统。当时的UI系统都是用XML来拼出界面,然后用类似C++的脚本来为它写逻辑。从一开始被迫学习,到最后使用时遇到各种问题,来回折腾了很久。写程序的热情在实际工作中被一点点磨灭了。我想很有可能很多程序员都会遇到和我一样的问题。我因爱好走上了这条路,但最初的冲动被琐碎的工作磨灭了。当我成为一名独立程序员后,我什至有一种感觉,我似乎无所不能,但除了项目任务,我什么也做不了。和高中时的自己相比,甚至有些退步。我人生的转折点是直到有一天,我读了一本书《黑客与画家》。迷茫的时候,多吸取多方面的知识,偶尔突然打开一扇窗。《黑客与画家》本书充满了强大的技术自信和充足的技术背景。它就像是一位知识渊博的技术专家,迫不及待地想把自己的人生经历传授给你,为你指明发展方向。字里行间透着对传统编程语言的蔑视和对LISP的尊重。它相信精巧的语言,加上聪明的程序员实现的高度抽象的代码,将带来极大的生产力提升,使开发速度更快,错误更少,并让一两个开发人员支持巨大的经济效益。网站。在Web世界到处都是动态语言的今天,《黑客与画家》中的判断似乎没什么好讨论的(现在动态语言在很多领域已经成为主流,这和笔者的情况大相径庭当时)。但对当时的我来说,那是大海中的一盏明灯。虽然这本书对Python(作者当时还是1.x版本)的看法很挑剔,但是因为当时Python2.x已经有了长足的进步,在同事的推荐下,我全身心投入到Python中。学习。在写了一些小练习程序后,我发现了一个可以在工作中使用Python的地方——用Python实现一个数据表格分析程序,检查表格中的数据错误和逻辑错误。这个表格处理工具在游戏中有很大的作用,非常适合用脚本灵活扩展功能。第一个实现的简单版本如下所示:importmbt=mb.table("data/index.txt");l=t.get_line(1001);#1001是行索引data1=l.get_int(2);#2表示第2列data2=l.get_str(3);这段代码的主要问题在哪里?读取数据时,程序员必须指定数据的类型。get_int、get_str、get_float等等。不幸和幸运的是,我当时用的是某个云盘来保存我的代码,出现了不同步的情况,导致很多在公司写的代码在家里操作的时候被覆盖了。迫使我重写了几乎整个程序。这次在同事的指点下,实现了这个用法:importmbt=mb.table("data/index.txt");l=t[1001];#1001是行索引data1=l[2];#2表示第2列data2=l[3];这段代码的作用与上面完全相同,但有两处变化:1、使用[]下标运算符代替get_xxx()函数调用,更加简洁。2.读取时无需指定类型。执行时data1自然是整数,data2自然是字符串。这个认识,对当时的我来说,是观念上的重大突破!你为什么这么说?由于强打字问题。在Python中,我使用一些非常简单的处理,让mb库的底层自然地处理类型。你知道吗?在C++中,做到这一点简直是难上加难!为了推断类型,C++经常使用模板技术来编写开箱即用的代码。而且,这样一来,动态语言的这种用法还是无法实现。也就是说,显式强类型特性不仅是约束程序员减少BUG的工具,也是实现高抽象系统的约束。这是一件很有意思的事情,当时让我触动很大。不知道读者能不能看懂。写完这个表格分析库,打开了我人生的一扇门。我回到了一个可以自由编写代码的时代,就像我的高中时代,但它比那个时代更干净,充满了可能性。我可以任意编写代码,几行代码就可以实现树的操作和复杂的嵌套字典。我似乎可以随意操作复杂的数据结构,或者复杂的递归,只要我想清楚,根本不需要花费太多的编码时间。当时以为自己掌握了葵花宝典,干劲十足,就找了一个Python学习网站,没事就去刷题。写了很多平时偷懒写的复杂算法,也看了高手写的《一行Python》(其实很短,但是用列表推导等方法看代码有点难),我获得了很多乐趣。后来,我从此爱上了Python。为了宅在家里专心学习Python,我直接辞掉了当时的工作。辞职前,心里还是有些顾虑。怕学不好找不到工作。问问自己,确保自己在努力学习,而不是欺骗自己的虚假努力。我也更加自信了,我知道我能行,所以在20年初,我义无反顾地选择了回家,开始了半年的求学之旅。闭关修行后开始投简历和老板投Python岗位。我连接了大量的海外球场。一开始,我没有经验,也没有做好准备。第一周很累,总结经验,在家准备面试。以及失败的面试经历。艰苦的努力得到了回报。第二周面试了7家公司,拿到了4个offer。编程半年之后,选择了文本智能薪资较高的公司,13k底薪,14-18薪年终奖和项目提成。可能大多数人都无法理解一门语言对程序员职业生涯的影响,所以特地写了这篇文章。Python对我产生了巨大的影响。Python曾经升华过我,未来也会继续影响我。关于Python的技术储备,学好Python不管是就业还是副业赚钱都有好处,但是要学好Python,一定要有一个学习计划。最后给大家分享全套Python学习资料,帮助想学习Python的小伙伴!一、Python全向学习路线Python全向学习路线是对Python常用的技术点进行梳理,形成各领域知识点的总结。它的用处在于,你可以根据以上知识点找到相应的学习资源。确保你学得更全面。其次,要想学好软件,必先利其器。学习Python常用的开发软件都在这里,为你节省大量时间。3、全套PDF电子书的优势在于权威性和系统性。刚开始学习的时候,看视频或者听别人讲课就可以了,但是学完之后就觉得自己已经掌握了。这个时候,建议还是要去看书,阅读权威的技术书籍也是每个程序员的必由之路。4.入门学习视频我们在看视频学习的时候,不能光动眼动脑筋不动手。更科学的学习方法是理解后再使用。这时候动手项目就很适合了。5、实际案例。光学理论毫无用处。您必须学会跟随并进行实际练习,以便将所学知识应用到实践中。这时候可以借鉴一些实际案例。6、面试材料要想找到一份高薪工作,一定要学会Python。以下面试题为阿里、腾讯、字节跳动等一线互联网公司的最新面试资料,阿里大佬给出权威答案。完成这套面试材料后,相信大家都能找到满意的工作。不管怎样,最后,非常感谢您点击观看我的文章。如果对你有帮助,请举起你的小手,给小编点个赞。如果大家有任何疑问或者需要文中的信息,可以后台私信我,欢迎“骚扰”。