给Python新人发展之路的小建议
hello,大家好,之前分享了一个关于Python新人们对于Python岗位的咨询与学习发展,那么本文将之前的分享稍作总结分享出来。
Python是一门面向对象的解释型语言,在这20多年的时间来,Python的各种生态越来越齐备,加上其自身简洁的语法,这些年python的使用量逐年上升(2019。6月已经排行前三)
Python主流的几大领域 与 发展方向 (薪资参考 boss职聘与猎聘与拉钩)
1:人工智能
集多项技术于一身,使机器可以感受、理解、学习并采取行动,无论是自食其力还是参与人类活动。
python的代表模块 tensorflow
前置项: 高数为基础,算法要求高,python基础
薪资范围: 15k~50k 左右
给Python新人发展之路的小建议
2:数据分析
指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论,并对数据加以详细研究和概括总结的过程
Python的代表模块:numpy panda
前置项:python基础 数据结构思路要求清晰
薪资范围:15k~40k 左右
3:爬虫
一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
python的代表模块 scrapy beatuifulsoup 等
前置项 python基础
薪资范围:15k~35k 左右
4:web开发
最传统的 c s 开发(client and service)如今的无论是互联网还是物联通,只要不是本机操作,一定不会绕过 web service,以至于成为所有行业几乎都会接触的领域,也最为基础
python 代表模块 django flask tornado 等
前置项: python 基础
薪资范围: 15k~35k 左右
还有很多的岗位,比如 量化交易,图像识别,软件开发,游戏开发,区块链等,都有python的岗位。
学习 Python 的 一些必用知识
1: 选择python3.5以上版本进行学习:因为python2到2020年官方将停止维护,并且3.5版本之前的python3性能上还有所缺陷,这里推荐 python3.6与python3.7版本
2: 在学习了基本的python语法之后,必学的python库如下:
TCP的使用 socket 库:以上四个方向没有一个是一定不会用到这个库的,在进行数据采集的时候,如果想快速传输数据,socket 无疑是一个非常高效的选择
http 的使用 request 库:以上四个方向必会的库, 尤其是 爬虫与web开发,http请求几乎是一定存在于所有项目之中的,了解http协议 与 http包是非常重要的,那么我们可以以 request这个库为媒介,进行深入学习了解,当然从性能上来说,我感觉tornado的httpclient可能性能更好一些。也推荐大家使用。
多线程的使用 gevent thread mutiprocess: 如果想更效率的执行你的项目,无论是数据分析,爬虫,机器学习,并发的执行一定是一个高效率的工作方式,于是以上三个库也是python必学的库,那么作为web开发,如果想支持高并发,多进程 多线程的部署也是必须的,如果更好的提高并发基础是web service开发非常重要的一堂课。 从事python岗位的同学应该知道 gil是什么,使得python的多线程不那么高效。如果 想关闭gil全局锁,可以考虑一下 pypy,但关闭真的好吗?有待商榷。
db sdk 的使用,在学习 一个后端语言的时候,至少要学会使用2 个 db,一个 关系型数据库 (如 mysql),一个非关系型数据库 (如 redis, mongodb)这是 作为数据存储最基础的两个库,根据业务的不同 使用不同种类的数据库。
其实呢,没有绝对的等级划分,但是硬要说的话呢,我个人对于是否已经摆脱新手,进入一个初级阶段甚至再高一点的评判,并不一定准确,但我认为可以作为一个参考给大家(掌握基础知识是必备的,不作为评级使用):
3:初级和非初级的一个重要的分水岭是解决问题的能力;当程序报错的时候,能够查看错误 根据错误自己寻找答案,就已经达到初级以上的水平,因为可以确定,你有自己解决问题的能力。
4:初级和中级的一个分水岭;拿到一个sdk 能够读懂源码,理解程序的执行逻辑,而非拿来主义直接使用了事。比如 阿里云有些sdk的方法很恶心,写的不是很清晰,你从他的文档几乎看不出什么,这时候如果你不会看sdk源码,基本此项目你已经挂了。所以反之可以看源码你将知道你要用什么功能 ,怎么用。甚至说不定还能找出他的一些bug或重写他的一个功能。举例,pymysq 取出数据库的时间是一个datetime类型,但是在json传输的时候,datetime无法被序列化
以 web开发为例 的一个 事业发展规划
第一阶段:学会 python基础,并学会 web开发的基本开发 业务开发(如使用 django框架),学会使用db的sdk ,学会和客户端交互(application/json)
第二阶段:学会前端开发,html5 css3 javascript 可以独立开发前后端业务(锦上添花 学会 vue 学会 webpack 等 更高效 更主流的 开发框架与构建工具),前端与app的交互与service的交互
第三阶段:前后端可用性(全栈开发):
后端:部署高可用服务,至少保证多地多活(即多地部署,有1服务可用即可保证服务可用),数据库高并发的实现(如集群化,读写分离,缓存穿透等)还有很多很多…… 对服务进行监控与维护
前端:避免前端v8引擎优化失效,更高效的使用异步,如何可以减少更多的流量(移动端),如何更好的保证前端的代码安全等
第四阶段:参与项目设计,参与项目业务架构,输出项目各种图:如 架构图,类图,时序图等,参与初期项目语言,框架选型,代码结构制定;对代码标准进行确定;对后期代码上线前的标准审核进行确定,攻克项目技术难点,开发项目核心代码,带路项目组员进行开发;-------架构
最后呢,几点建议给大家
1:多练多写多思考,不求人,锻炼自己解决问题的能力
2:坚持一门语言做主语言,当你认为对这一门语言掌握做够好的时候,再去拓展别的语言
3:请爱上你的主语言~
以上是一个不太成熟的 但应该对新人朋友们有些参考价值的分享。希望大家有帮助,比心~
················
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
厦门航空牵手阿里云打造航空业移动研发中台,研发效率提升50%
11月4日,厦门航空与阿里云宣布合作打造航空业“移动研发中台”。该项目将基于阿里云企业级移动研发平台EMAS,结合厦门航空在航空业数字化探索实践联合研发,搭建完成后将助力厦门航空打造厦门航空超级APP。 厦门航空“移动研发中台”将大大提升包括会员服务应用在内的一系列企业级应用的迭代研发效率,包括实时增加新功能、调整新架构,预计移动端研发效率至少可提升50%。此外,通过中台支持的APP、小程序、Web App等应用,在页面效果和加载速度上都会有显著提升,在出现BUG的时候可以进行线上快速修复。 厦门航空“移动研发中台”将首先用于厦门航空APP,为已有的一千多万的厦航白鹭会员提供数字化出行一站式服务。后续还会增加如大兴机场空铁联运、积分兑换增值服务、电子行李牌等一系列数字化创新功能。 厦门航空和阿里云合作始于2017年,双方先后合作举办天池
- 下一篇
从0到千万DAU,这5年闲鱼架构如何演进? | 11月6号栖夜读
点击订阅云栖夜读日刊,专业的技术干货,不容错过! 阿里专家原创好文 1.从0到千万DAU,这5年闲鱼架构如何演进? 闲鱼品牌创立于14年阿里的某个茶水间,从0开始到现在千万DAU,5年时间里闲鱼见证了闲置物品从线下到线上交易的转移。而线上交易的繁荣,则需要业务架构做相应的调整、演进才能支撑业务的快速发展。本文主要通过介绍闲鱼从0发展到千万级DAU应用的不同阶段的业务特点、核心问题以及针对性的架构演进,来阐述业务架构的演进思路与心得。阅读更多》》 2.初识 Knative: 跨平台的 Serverless 编排框架 Knative 是 Google 在 2018 的 Google Cloud Next 大会上发布的一款基于 Kubernetes 的 Serverless 框架。Knative 一个很重要的目标就是制定云原生、跨平台的 Serverless 编排标准。Knative 是通过整合容器构建(或者函数)、工作负载管理(和动态扩缩)以及事件模型这三者来实现的这一 Serverless 标准。Knative 社区的主要贡献者有 Google、Pivotal、IBM、Red Hat。可...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Red5直播服务器,属于Java语言的直播服务器
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 2048小游戏-低调大师作品