前言

本人主要从事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的心路历程相关推荐

  1. python安卓开发-一个Android开发者自学Python的心路历程

    前言 本人主要从事Android开发,也做过微信小程序,有时还会在Java那边客串一把(谁让Android是用的Java呢@~@),最近在自学Python,已有半月有余.因近年来,技术迭代快速,前端更 ...

  2. 从开发者到讲师的心路历程

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  3. 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】...

    今天一看日历,哟,2.12号,这不是我第一份工作入职的时间吗?不知不觉竟然已经工作了一年了,那根据"主席"的话说,应该算是中级开发者水平了!在这工作的一年里,我有过迷茫,有过动摇, ...

  4. 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 今天一看日历,哟,2.12号,这不是我第一份工作入职的时间吗?不知不觉竟然已经工作了一年了,那根据" ...

  5. 一个Android开发者眼中的微信小程序

    前言 转眼间微信小程序已经推出好几个年头了,作为一名Android开发者,一直想尝试下:正好赶上公司策略调整,在开发完App后领导想着在开发一个小程序版,基于微信庞大的用户量,微信小程序成为了首选:在 ...

  6. 【python】记录下自学python的大致历程

    写这篇文章,起因是有一个学长最近问到我相关的问题.回想起我当初开始自学这门语言,以及到现在需要考虑使用一些高级用法时觉得最有效的一些工作吧. 1.初学 第一次学习python,是我即将研究生入学的暑假 ...

  7. 阿里内部资料!如何试出一个Android开发者真正的水平?系列教学

    前言 马爸爸总结了一句话:跳槽,要么是钱不到位,要么是受了委屈. 我给自己这次的跳槽经历做了一个分析,希望能对那些想换工作的朋友有所帮助. 许多朋友想换工作,但是对"换工作"的理解 ...

  8. Python学习心路历程

    刚刚开始学Python也是零基础学这个,凭的完全是个人的兴趣,后面发现其实对学习有帮助的是视频,便疯狂看视频,然后看了慕课.黑马教育等视频,最后发现了一个比较好的视频资源: 基本上囊括了语言本身绝大多 ...

  9. 从开发者到讲师的心路历程与必知必会 | 原力计划

    作者 | 小山猪的沙塔 责编 | 伍杏玲 出品 | CSDN博客 这一篇文章主要是向大家讲述一下:作为开发者,你可以走的路其实很多,年龄并不是过不去的槛!只要去做其实并不难! 目前自己从事软件培训行业 ...

最新文章

  1. 也许,这样理解 HTTPS 更容易!
  2. EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs'
  3. python2.7删除所有非utf-8编码的字符串
  4. 大网高级技术笔记(一)
  5. 【TensorFlow】——broadcast_to(在不复制内存的情况下自动扩张tensor)
  6. Asp导出到Excel之二
  7. leetcode1292. 元素和小于等于阈值的正方形的最大边长(二分法+前缀和)
  8. 编程之美----子数组的最大乘积
  9. LeetCode-----翻转二叉树
  10. 设置屏幕分辨率的函数 - 回复 董勇 的问题
  11. linux过滤文件的关键字,linux tail 过滤日志文件中的关键字
  12. JUC 基础内容概述
  13. Windows API——SHFileOperation——文件操作
  14. OSChina 周三乱弹 —— 风扇写着先生请自爱
  15. html输入框只能输入整数,轻松让INPUT框只能输入整数
  16. 图片占位符placehold.it
  17. 负数在计算机中是怎么存储
  18. 网络安全-网站后台的寻找+网页JS文件信息收集
  19. 腾讯云·部署Eclipse Che(云原生IDE)(CSDN云通用)
  20. jsp格式date类型

热门文章

  1. 相见恨晚的超实用网站
  2. 【wpf】如果让Bingding 如何让后台数据强制更新界面
  3. mysql数据库基本操作指令:附图
  4. STM32CubeMX HAL F103 BKP备份寄存器使用
  5. [CF1421E]Swedish Heroes
  6. 讲解一些复变函数的基础概念
  7. el-table行合并,单列行合并或者指定列合并行
  8. 2022年1月国产数据库排行榜:TiDB霸榜两年势头不减,openGauss与OceanBase分数大涨
  9. 如何读书:实用性阅读指南
  10. 如何操作 Office Open XML 格式文档