很久没写文了。最近在搞一些好玩的技术用到了 Python 。我原觉得要花些时日,谁知道第一天入门以后便没有再刻意地去学习它了。这里就写写其中的一些关键点吧。若是我去学一门语言不是由于它火了而是我用到它了。曾经闲着没事干的时候把 Kotlin 、Vue、React 学了,可是历来没有实践中用到它们,以致于如今几乎快要忘了。因此这是个惨痛的教训:有可能用不到的东西不要去学。有这个时间泡妞打游戏它不香吗?java
"玩蛇"其实我是拒绝的,我要搞个爬虫以及数据清洗,包括机器学习的一些东西。而这些方面 Python 具备先天性优点,因此 Python 成了不二的选择。从这里你须要知道当你要去学一个新技术时,你要知道它的优点是什么,它的场景是什么。有很多人去报个班学 Python ,当你问他为何学 Python 的时候,他告诉你由于它火啊。这种是没有前途的。python
这一篇是结合我我的的经历写的,因此想快速入门首先你要有编程的经历,掌握其它任何一门语言的前提下,有必定的学习能力,Python 对你来讲是几乎没有难度的语言。数据库
Python 大部分人学习和使用直接去官方下对应的环境包安装就好了,固然这个也能够。事实上若是用的多了后面会涉及环境的问题。这里建议直接使用 Anacoda3 。这个能够看做 Python 中的 Maven 或者 Gradle 。未来你会遇到有得项目依赖 Python2 有的依赖 Python3 的问题,Anacoda3能够帮助你解决特定的环境管理问题。编程
这个是 Python 比较特点的一个地方。它不使用大括号 {}
来控制类,函数以及其余逻辑判断的层次。若是是 Java
你会这么写:机器学习
public void test(String str){ if(str!=null){ System.out.println("str ="+ str); }else{ System.out.println("str is null"); } }
用 Python 就这么写了:函数
def test(str): if str: print('str') else: print('None')
从这里能够看出来 Python 把能省的都省了,连变量类型,返回值类型都不要了。做为面向对象的语言来讲这有点”不严谨“ ,可是做为脚本语言来讲这就很是受用了。写这一篇文章的时候恰好须要修改个证件照的大小,Python 随手就处理了:性能
file_dir = './2.jpg' with Image.open(file_dir) as img: x, y = img.size x_s = 650 y_s = y * x_s / x out = img.resize((int(x_s), int(y_s)), Image.ANTIALIAS) out.save('./3.jpg')
在你掌握一门其它语言的前提下学习 Python 是很容易的。因此基本语法几乎是一遍过。高级特性建议边用边学,不用再这个上面浪费时间。学习任何一门语言都是多练多写。就像神枪手都是子弹喂出来同样,一名出色的 Coder 都须要代码量达到必定的量级。学习
我以为惟一的比较花时间的就是切片(slice
)。切片就是按照范围取 list
或者 tuple
中的值。很是灵活,切片不但有正序也有逆序。这也是 Python 擅长处理数据的重要缘由之一。这里要花大量的时间取练习和理解操做数据。机器学习,科学实验,数据分析都用获得。人工智能
建议直接自定一个小需求开始学,遇到问题就去解决问题。而后着重练习并理解本身遇到的问题的技术解决途径。我写完 HelloWorld 就没有去循序渐进了。 找了个爬虫脚本去尝试爬东西。而且去理解里面的一些写法,而后把本身的一些想法实现进去。练习数据处理能够去连一个数据库,进行各类数据的聚合操做。学新东西你每每不知道什么对你有最直观的提升,只有需求才能让你找到短板、看清方向。不要纠结于某些你不知道用途的语言特性。spa
”玩蛇“ 就是玩调包!一名出色的 Python Coder 都是调包侠!Python 有很是丰富的类库让你去实现各类想法。因此用 Python 不要遇到场景就想着造轮子,先去找找有没有轮子。这里有几个经常使用的轮子你能够在学习的时候就能用起来:
还有很是多,不过上面的几个在某些领域很是强大,玩的好能当饭吃。
Python 做为第二语言很是不错,并且上手很是快。平时处理点数据很顺手,玩起来很爽。若是想搞一些人工智能的东西,须要的门槛就高些,数学、统计、几率、英语、建模一个都不能少。因此若是要吃 Python 这碗饭仍是要看清楚本身的能力的。单单会 Python 并不让你具有优点,更不值得去报班学习,由于学 Python 没有难度。
关注公众号:Felordcn 获取更多资讯