Python 笔记一:简单入门及点评 [转载]
从python的语法上看,简单得不能再简单了。
想学它,请移步廖雪峰python2.7教程以及python3。这实在是最好的入门教程。参考资料太多:
缺点
如果你是全栈型的工程师,那么你需要注意的它和其他语言的不同之处。它并没有一些基础的特性,例如:
- 没有switch的功能,用
if-else
代替,也可以用字典来代替switch - 函数重载缺失,只能用默认参数代替
- 代码强制缩进治愈了你的强迫症
希望大家能再补充一下python的槽点,多留言。
python的语法层面很简单,就说明python学习成本很低,其实也并不是的。python是一个混合语言的产物,被俗称为“胶水语言”。在此引用我经常说的一句话。
Python可以作为你的第一门语言,可以作为你的最后一门语言。
原因是Python语法很简单,语法与其他语言相似。如果你懂得其他语言如C++,Java等,你就没有什么学习成本。但是它又很复杂,有各种各样的第三方包,学习运用这些库要一定学习成本。它还有不同的解释器,虽然语法是相同的,但是解释器的不同也导致第三方包不能通用。如今的解释器主要有:
- Cpython 解释成C语言机器码
- Jython 解释成Java语言字节码
- Ironpython 解释成C#语言字节码
- Pypy 解释成JIT即时编译
- Pyjion 微软推出,利用CLR为CPython实现JIT解释加速
通常用的python是来自Cpython,与C语言的美妙关系,让它甚至成为一门黑客语言,感谢ctype,但是正因为C语言底层,让它在windows平台上很难自由使用。Windows不愧为最难用于开发的平台。这也算是python的又一槽点,不像Java等有虚拟环境的语言有自己的虚拟机可以来去自如地跨平台。
在版本层面上,它分为2和3。相互之间的兼容性欠佳。虽然有像six
这样的库去实现代码的兼容性,但是还是从通用性和实用性的角度,还是推荐入门者选择安装2.7版本的python,从处理编码问题和协程编程的角度,选择安装3.5版本。当然,能力者可以顺便选取。
优点
说了很多缺点,说说优点。它是一门API语言,通过运用不同的库去实现小功能(原型开发,爬虫,服务器运维,Web服务器)。当然,也可以作为C语言开发的软件的一门API语言,如ArcGIS和QGIS,参考有哪些 GIS+Python 的开发经验值得分享的回答。GIS与Python结合有很多种可能性:
- Arcpy 参考ArcPy and ArcGIS (豆瓣)
- pyQGIS 参考PyQGIS Developer Cookbook
- Geopython GIS相关库
- GDAL 参考 Welcome to the Python GDAL/OGR Cookbook!
- 各种空间数据库,如 spatialite 参考 SpatiaLite Cookbook
所以在这里我推荐每个GISer应该花点点时间去学习它,当然,它和其他学科也有很多交集,如人工智能等。
IDE
安装python,并不是一件难事。实在不懂的同学参考Python环境搭建及IDE选择,该文还提及到IDE的选择,大都是一些重量级的IDE,如收费产品pycharm。我个人想法是不希望用大型IDE去写python,除非写像DJANGO这样的全栈式大型web框架,否则我会选择一些小型编辑器去完成编写。结合有没有什么值得推荐的轻量级Python IDE的回答,我个人推荐使用vscode+python插件,可以实现智能提示,语法检查,逐行调试等。
安装步骤
在vscode官网下载对应的安装包,接下来傻瓜式的安装。安装完成后,按Ctrl +Shift + P
进入命令操作,输入ext install python
或者只输入install
,你也可以找到安装提示。点击像朵云的图标或Readme
图标,即可完成插件安装,微软服务器有点慢。
有些功能的实现需要第三方包的全局安装(可选):
- 首先系统上安装python,设置系统路径
- (可选) Pylint 用于语法检查
命令行输入pip install pylint
- (可选) Pep8 用于语法检查
命令行输入pip install pep8
- (可选) Flake8 用于语法检查
命令行输入pip install flake8
- (可选) Autopep8用于代码格式化
命令行输入pip install pep8
命令行输入pip install --upgrade autopep8
- (可选) Yapf 用于代码格式化
命令行输入pip install yapf
- (可选) nosetests用于 unit testing
命令行输入pip install nose
Then, Coding.
按Alt + Shift + F
代码格式化,F5
调试。
https://www.jianshu.com/p/a2b172049730