一个Android开发者自学Python的心路历程
前言
本人主要从事Android开发,也做过微信小程序,有时还会在Java那边客串一把(谁让Android是用的Java呢@~@),最近在自学Python,已有半月有余。因近年来,技术迭代快速,前端更是层层爆发,单纯的Android或者IOS开发已经不足以应对市场变化,在这技术大潮下,成为一个复合型开发者就显得尤为重要,所以又去进行了微信小程序开发。然而,如果想要在一个项目中更彻底的了解项目架构与核心,那么接触后端是必不可少的,所以就开始了本次的Python之旅。
为什么不学Java后端
其实,如果要接触后端的话,对于Android开发来说,Java应该是更好的选择,并且本人大学那会也是主修Java,还是有一定的后端基础的。但是说实话,Java这门语言实在是太繁琐了,开发效率确实不是很高。之前用Kotlin重构了一个线上的Android项目,与Java的体验能感觉到明显的差别。另外,随着大数据、AI、机器学习的火热,Pyhton的洗脑无处不在,并且Python本身的应用领域也比较广泛,所以可以算是为了顺应这个大潮+个人的兴趣爱好,选择了从Python开始深入学习。
学习Python时的感受
说实话,一开始学Python的时候,因为深受Java的影响,Python的语法给我一种太过于灵活,以至于到有点混乱的感觉。Python的语法与Java的语法两者做个比喻的话,Python就像是江湖武林人士,自在逍遥,奇淫巧计杂多又深不可测;Java就像是朝廷正规军,规章制度明确,一招一式都有迹可循,严谨大气。但是在学习了一段时间后,代码写的多了,遵守开发规范,Python给我的感觉就完全变样了,像是一只轻装简行的轻骑兵,灵巧多变,直击要害,没有多余的其他动作,而Java就感觉是一只重型步兵,虽然是大气磅礴,但是行军太慢。这时,才是真正体现出Python的优雅、简洁的特性的时候。
另外,很多人都说Python入门容易,不知道这个是怎么得出来的(可能是某个大佬阅遍多种语言后得出的),但如果光从语法上看,Python是要比Java难的。就如同上面的比喻,因为Python的奇淫巧计很多(骚操作太多了),想要吃透Python基础是要多费些功夫的(特别是很多学习教程和文章在一些Python的特性上都讲的云里雾里的,玄而又玄),而Java一招一式都是明明白白,简单直接。但是如果从项目实际开发上来看,Python却是要比Java更容易,Python在项目中的可阅读性与简洁性远强于Java,而开发相同的项目,Java相对Python来说更复杂,代码量更大。
Python的优势
Python火起来总是有它的特殊之处的。Python的语法特别简洁,开发效率极高(我身边经常有人说,一个Python开发可以顶两个Java,感觉有点夸张了,但是确实比Java的效率高),拥有着丰富且强大的第三方库。Python虽然经常被人拿运行速度太慢说事,但是一般使用Python开发,主要考虑的不是速度,而是Python强大的可阅读性、可维护性与可扩展性。一般来说,90%的开发者开发的90%的项目的性能瓶颈不是在语言上,所以你根本不必在意这个。若很幸运,你占据了这两个10%,那么Python的创始人也说过,决定程序速度的代码只占20%,你完全可以用C/C++来写这20%。
Python能做什么
我们学习Python总是希望可以在某一领域大展身手的,那么Python可以做什么呢?Python常见的几个发展方向如下:
- web开发:一些大网站例如知乎、Youtob,用的就是Python。有的人说知乎不是在用go语言重构吗?那只是当中的推荐模块使用go重构而已,整体大架构还是Python。但凡一个大体量的应用,绝对不会仅仅使用一种语言的,在不同的模块中使用不同的语言很正常。
- 机器学习:这个就不用说了,Python就是因其才在最近几年勇攀高峰的,Python是AI领域的王者
- 爬虫:Python用来写爬虫是非常给力的,强大的第三方库和简洁的语法,使Python可以快速构建一个爬虫程序
- 运维:Python作为一个脚本语言,在运维中也是占据广泛的市场的
小结
最后,送给所有对Python感兴趣的开发者一句经典语录:人生苦短,我用Python!
一个Android开发者自学Python的心路历程相关推荐
- python安卓开发-一个Android开发者自学Python的心路历程
前言 本人主要从事Android开发,也做过微信小程序,有时还会在Java那边客串一把(谁让Android是用的Java呢@~@),最近在自学Python,已有半月有余.因近年来,技术迭代快速,前端更 ...
- 从开发者到讲师的心路历程
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】...
今天一看日历,哟,2.12号,这不是我第一份工作入职的时间吗?不知不觉竟然已经工作了一年了,那根据"主席"的话说,应该算是中级开发者水平了!在这工作的一年里,我有过迷茫,有过动摇, ...
- 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 今天一看日历,哟,2.12号,这不是我第一份工作入职的时间吗?不知不觉竟然已经工作了一年了,那根据" ...
- 一个Android开发者眼中的微信小程序
前言 转眼间微信小程序已经推出好几个年头了,作为一名Android开发者,一直想尝试下:正好赶上公司策略调整,在开发完App后领导想着在开发一个小程序版,基于微信庞大的用户量,微信小程序成为了首选:在 ...
- 【python】记录下自学python的大致历程
写这篇文章,起因是有一个学长最近问到我相关的问题.回想起我当初开始自学这门语言,以及到现在需要考虑使用一些高级用法时觉得最有效的一些工作吧. 1.初学 第一次学习python,是我即将研究生入学的暑假 ...
- 阿里内部资料!如何试出一个Android开发者真正的水平?系列教学
前言 马爸爸总结了一句话:跳槽,要么是钱不到位,要么是受了委屈. 我给自己这次的跳槽经历做了一个分析,希望能对那些想换工作的朋友有所帮助. 许多朋友想换工作,但是对"换工作"的理解 ...
- Python学习心路历程
刚刚开始学Python也是零基础学这个,凭的完全是个人的兴趣,后面发现其实对学习有帮助的是视频,便疯狂看视频,然后看了慕课.黑马教育等视频,最后发现了一个比较好的视频资源: 基本上囊括了语言本身绝大多 ...
- 从开发者到讲师的心路历程与必知必会 | 原力计划
作者 | 小山猪的沙塔 责编 | 伍杏玲 出品 | CSDN博客 这一篇文章主要是向大家讲述一下:作为开发者,你可以走的路其实很多,年龄并不是过不去的槛!只要去做其实并不难! 目前自己从事软件培训行业 ...
最新文章
- 也许,这样理解 HTTPS 更容易!
- EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs'
- python2.7删除所有非utf-8编码的字符串
- 大网高级技术笔记(一)
- 【TensorFlow】——broadcast_to(在不复制内存的情况下自动扩张tensor)
- Asp导出到Excel之二
- leetcode1292. 元素和小于等于阈值的正方形的最大边长(二分法+前缀和)
- 编程之美----子数组的最大乘积
- LeetCode-----翻转二叉树
- 设置屏幕分辨率的函数 - 回复 董勇 的问题
- linux过滤文件的关键字,linux tail 过滤日志文件中的关键字
- JUC 基础内容概述
- Windows API——SHFileOperation——文件操作
- OSChina 周三乱弹 —— 风扇写着先生请自爱
- html输入框只能输入整数,轻松让INPUT框只能输入整数
- 图片占位符placehold.it
- 负数在计算机中是怎么存储
- 网络安全-网站后台的寻找+网页JS文件信息收集
- 腾讯云·部署Eclipse Che(云原生IDE)(CSDN云通用)
- jsp格式date类型