今天想说说Python在算法、后端、量化工作中的应用。如何学习?我是非计算专业的Python专业(天坑之一)。大四开始学习Python,一路走来一路走来。现在在某行业的龙头公司做大数据分析,经常用Python来处理数据。Python现在几乎是使用人数最多的编程语言,主要是因为它在各个领域都有应用。虽然不是十八门武学全部精通,但至少有些东西是可以得到的。在国内,Python大约在2017年起步,由于AI和大数据的兴起,逐渐在网络上流行起来,受到非IT从业者的推崇。当然,这也催生了大量的教育培训。很多人都在说Python找不到工作,花钱学的都是韭菜。其实我相信大部分学Python的人并不指望靠Python找工作,而是把解决问题和培养自己的编程技能作为加分项。至于哪些职位需要python,这就是我们要讲的内容。哪些工作可以用Python?下面以我高中和大学几位同学的经历为例,分别介绍一下他们使用Python的场景。1.A同学:TOP3电商平台NLP算法工程师被学校招入,做UGC内容的文本挖掘,分析电商用户评论、客服、问答等数据,做决策等场景产品推荐和智能客服。这是一个纯算法的帖子,在大厂比较吃香,校招套餐价格差不多50块。面试的时候其实对用什么语言没有严格的限制。Python、Java、C++都可以,但是需要手写算法,以上框架的使用也会测试。A同学说,他们组用的技术栈是NLP、深度学习、大数据,比如nltk、tensorflow、pytorch、hadoop、spark等,是主要的工具。群里大部分人用的是Python,小部分大佬用的是C++。一般来说,他们能跑多久就跑多久。我问A同学为什么用Python,他笑着说了四个字“人生苦短”。Python写脚本、做测试、跑数据都这么方便。有很大的不同,因为它们不需要实时产生结果。而且Python第三方库有大量的NLP和机器学习工具。NLP领域像nltk、Pattern、Gensim等,机器学习领域像sklearn、keras、tf等,集成的非常好,马上就能用。2.B同学:某知名独立车企后端开发工程师。乙同学曾在乙方软件公司工作,主要负责汽车软件的开发。后来他不想去甲方做websecuritybackend,但发现自己应该更灵活一些。没有减少,可能这几年汽车电子发展太快了,都在更新迭代。现在车企更喜欢有电脑背景的应聘者。很多从互联网裁员中幸存下来的技术人员,都去车企研发、做产品。其实,赶上新能源发展的机遇,也是一个不错的选择。他们做的安全相关业务的后端开发,通常主要使用Django、DjangoRESTFramework、docker等框架,以及MySQL、MongoDB、Redis等数据库,基本都是基于Python进行开发。说来也怪,安全产品一直以C/C++为主,占据了绝大部分场景。他们为什么使用Python?我这样问过B同学。他说你还是不明白,C/C++、Java、Python一直是安全领域的三大主流技术栈。NTA、防火墙、IDS、IPS都用到了Python,一些小的后端服务也是用Python开发的。3.C同学:某小型基金管理公司量化分析师。C同学在英国待了一年。回国后先后加入多家大型证券公司、大型基金公司。基金管理公司从事CTA高频量化模型开发,通常从事交易策略的研发、调试、优化、维护和监控。他说,他进来就是想锻炼自己的技术,为以后去大厂做铺垫。带着业绩的压力,他基本上每天996,写攻略写到麻木为止。通常,还需要进行数据收集和处理、历史数据回测和风险收益评估。简而言之,人们已经习惯了。由于我不太了解Python在金融行业的应用,所以我问他量化一定要用Python吗?他笑着说,你可以去招聘网站上搜搜搜。现在金融行业的分析研究都需要编程能力,而且大部分都需要python。摩根、花旗等国外大公司,基本都把python当做一道硬门槛。量化领域基本以C++和Python为主。C++一般用于编写大型交易框架,稳定、快速。Python用于编写策略、运行算法和验证模型。它还支持编写一些小应用程序。用于wrapping等的C++库。这主要是因为Python生态中有大量的金融数据分析工具,如talib、pandas、numpy等,可以快速引用。这三位同学是我以Python为主要工具的典型代表。其实我们可以看到,都是需要综合能力的岗位。NLP需要算法,后端开发需要安全经验,量化需要写策略。所以基本上不代表会Python就能找到合适的工作。对Python能力有什么要求?Python是用来解决业务问题的,所以不同岗位的要求肯定不一样,但是前提是能够熟练使用Python语法,对于数据类型、逻辑语句、功能模块、类、进程线程、错误处理、网络编程,正则表达式……这些一定要很好理解。这里我建议大家去官方文档上一一学习:其次,不同岗位需要学习不同的Python框架。这些框架的难度并不像Python本身那么简单。一些大型框架如tensorflow,已经远远超过了Python语法的学习成本。.爬虫贴:requests、xpath、beautifulsoup、scrapy、selenuim数据分析贴:pandas、numpy、sklearn、matplotlib、pymysql算法贴:sklearn、keras、tensorflow、pytorchnlp贴:nltk、Gensim、Pattern大数据贴:pyspark、pyflinkBI贴:superset,dashweb帖:Django,Flask,Tornado(知乎写的),fastapi测试运维帖:os,sys,selenium,pytest,appium,unittest前端帖:PyQt,PyGUI,pyecharts,dash,plotlyothersOfficeuse:xlwings,pandas,pptx,docx,email以上是对应岗位需要的工具,也就是python的第三方库。大家可以一一匹配,看看自己需要什么,再有针对性地学习。以上就是本次分享的全部内容。想了解更多python知识,请前往公众号:Python编程学习圈,发“J”免费领取,每日干货分享
