看你自己的就业方向。高并发Web后端开发选择Go,如果选择去那种中小型私企的话建议你选择Java。目前Go软件生态支持没有java的完善,目前学Go的话可能面临跟java混着用,所以就造成Go就业稀缺,Java还存在就业需求大的共存局面。

对于大型的Web全栈开发,市场需求的语言是Java/Go,除了初创企业为了项目上线营运,初期会选择Python,但步入正规无一例外会将后端替换成Java或Go. 已经上线营运的Web后端的商用环境几乎不会考虑用Python。因为原生CPython本身执行效率面对多用户并发和后台繁重的密集型计算原生CPython是应付不了的。用Python做全栈大部分是小规模的科技公司或制造业类型的企业,因为开发出来的受众面不会太大,业务系统的性能问题不是考察的重点,而是开发效率。

选择Python的话,自己先了解好你自身的职业技能能否得到Python的助力。Python语言的应用领域很广泛,从制造业的设备自动化开发(microPython+C)到计算机视觉(OpenCV)、Linux云计算、数据挖掘和分析、量化交易、自动化运维”等这些领域。客观就要求学习者对相关行业具备一定程度的了解。如果后面选择学习Python培训机构的课程,自己要擦亮眼睛,总之学习的Python正确的姿势是结合自己的专长可选择相关领域培训课程或书籍学习。

后端开发岗位、算法开发岗位、Linux开发岗位实质上 用到的是C/C++、甚至Python和C的混便技术、高级运维开发工程师会用到Python、Go、Shell、甚至是C。因此即便学会Python,光懂Python也找不到这些岗位工作,这本质上已经不是Python语言的问题,而是这些岗位要求从业者最起码有3年以上相关工作经验,对数据库、系统操作原理和开发用到什么工具要有一个系统性的知识背景。

但答主仍然强调,光学会“Python”是找不到的工作的。Python只是一个工具,重点是要求学习者具体与该岗位其他相关职业技能

门槛低的Python或多或少相关的职业:例如初级运维工程师、一些网络安全岗位也会用到Python,比如“Cisco的初级CCNA工程师”就要求具备Python编程能力。从事自动化运维领域,广泛用到的语言是Python、Go,这两种语言非常适合在Linux环境下的组件开发。这些岗位的特性,都不要求学习者深入理解系统原理,Python相关低门槛的IT岗位,更多要求从业者夸专业和横行性多重技能。从事这方面职业的话,推荐这些比较好的入书籍。

Python非常适合灵活就业例如用Python以私单的形式接一下小型项目是非常不错的选择。例如小商家的商品推广,支付类型的小程序、用Java来实现显然是“杀鸡焉用牛刀”的感觉,但Python就显然非常适合。

数据分析、跨金融领域的量化交易会用到Python,Python生态有很多通用的数据分析工具例如pandas、numpy这些基础工具。下面这些书籍值得一看。

上面Python相关职业的问题,如果打算深入学习Python,到了中期基本上就要面对Python性能瓶颈的问题。所以Python到达一定水平,一定要严格区分不同的Python实现,大部分人说的Python其实就是CPython,而深入学习Python的话,一定要掌握PyPy、Number、Cython这些第三方Python技术。因为Python应用规模到达一定程度,会不得不面对一个问题就是性能会急剧下降,因为官方的CPython内核的执行效率其实是非常低的,此时你可以考虑学习C来很大程度上改善CPython执行效率。此时有扎实的C基础的话,可以进一步学习Cython这门语言。将Python程序中严重拖慢程序性能的Python代码迁移到Cython中,并且编译成Cython扩展,让CPython前端去调用。对于已经有Python项目实战经验的同学,如果想改善Python程序性能的话,下面这本书值得读者一看。里面提及到Cython、PyPy、Jython这些高性能Python实现相关的编程技术。

如果你后面学习十分在意Python的性能问题的话,那么Cython是一门必修的语言之一,而学习Cython就客观你要懂C语言,并且一定程度理解CPython内核原理(至少要熟悉常用的Python/C接口的调用)。这里多说一句,你初期学习到常用Python第三方扩展库,例如openxml、爬虫核心的lxml其实都是Cython语言实现的。

Cython优化Python代码的背后的逻辑就是,将CPU密集型的Python代码而CPython力不从心的,直接让Cython编译直接降级为机器码运行,绕过Python内部繁琐的类型检测、堆内存分配、虚拟机内部低效栈操作。

解决CPython前端性能瓶颈的问题的,可以考虑用上Numba、PyPy这些高性能的JIT编译器。而答主实际上在Python编程中最好的组合就是前端PyPy JIT+ 后端Cython扩展的调用。

当你Python到达一定基础,有兴趣可以关注我“铁甲万能狗”主页下这个《Cython/PyPy编程技术》,不玩套路,专题里面每篇文章是答主过去的学习心得和经验总结。

有相关技术疑难,可以撮以下链接笔者提供相关问题咨询服务。