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
调试。


深度研究资料
作者:brandonxiang
链接:https://www.jianshu.com/p/a2b172049730
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Python入门一:简单得不能再简单了##的更多相关文章
- Python入门学习:1.变量和简单的数据类型
python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 变量,顾名思义是一个可变的量, ...
- C# 实现IP视频监控(摄像头)画面推送(简单的不能再简单的DEMO)
最近继续在家休息,在完成上一个Python抓取某音乐网站爬虫后,琢磨着实现一个基于HTTP推送的 IP视频监控,比如外出的时候,在家里 开启一个监控端(摄像头+服务端),可以看到实时画面,如果再加上自 ...
- 一个简单得不能再简单的“ORM”了
本文适合初学者,老鸟请点赞即走,谢谢. 文字功底有限,表述不恰当的地方,请各位多多包涵. 一,核心 现在ORM已经很多了,功能也齐全了,大家说我这是干无聊的事,造的连车轮子都还不算,反正我就当学习. ...
- 【Python入门只需20分钟】从安装到数据抓取、存储原来这么简单
基于大众对Python的大肆吹捧和赞赏,作为一名Java从业人员,我本着批判与好奇的心态买了本python方面的书<毫无障碍学Python>.仅仅看了书前面一小部分的我......决定做一 ...
- 大爽Python入门教程 1-1 简单的数学运算
大爽Python入门公开课教案 点击查看教程总目录 1 使用pycharm建立我们的第一个项目 打开pycharm,点击菜单栏,File->New Project 在Location(项目地址) ...
- 大爽Python入门教程 1-3 简单的循环与判断
大爽Python入门公开课教案 点击查看教程总目录 这里只初步认识下循环和判断,以便于我们去实现一些简单的计算. 循环和判断的详细知识和细节,我们将在后面的章节(大概是第三章)展开阐述. 1 初步了解 ...
- Python编程从入门到实践笔记——变量和简单数据类型
Python编程从入门到实践笔记——变量和简单数据类型 #coding=gbk #变量 message_1 = 'aAa fff' message_2 = 'hart' message_3 = &qu ...
- python网络爬虫进入(一)——简单的博客爬行动物
最近.对于图形微信公众号.互联网收集和阅读一些疯狂的-depth新闻和有趣,发人深思文本注释,并选择最佳的发表论文数篇了.但看着它的感觉是一个麻烦的一人死亡.寻找一个简单的解决方案的方法,看看你是否可 ...
- Django入门第一步:构建一个简单的Django项目
Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...
随机推荐
- MySQL性能优化方法二:表结构优化
原文链接:http://isky000.com/database/mysql-perfornamce-tuning-schema 很多人都将 数据库设计范式 作为数据库表结构设计“圣经”,认为只要按照 ...
- Softmax回归介绍
把输入值当成幂指数求值,再正则化这些结果值.这个幂运算表示,更大的证据对应更大的假设模型(hypothesis)里面的乘数权重值.反之,拥有更少的证据意味着在假设模型里面拥有更小的乘数系数.假设模型里 ...
- OVSSL企业证书认证
最近,在做http->https的转化,虽然我没有操作证书的安装过程,但是在这个过程中学习到不少知识呢. 因为我没有操作,所以操作上我就不知道了.下面是这个过程中要注意的一些事项: 1.公司名称 ...
- hello1与hello2在glassfish上部署
部署hello1 打开项目实例 找到hello1(tutorial-examples-master\web\jsf\hello1) 并在当前目录打开cmd并输入mvn install命令在hello1 ...
- dgraph 基本查询语法 三
这部分主要是查询块.查询变量.聚合操作 多名称查询 实际上就是类似多个查询数据的拼接 格式: { caro(func: allofterms(name@en, "Marc Caro" ...
- 横竖两个数字塔的效果BAT批处理怎么写?
横竖两个数字塔的效果BAT批处理怎么写?@echo offfor /l %%a in (0,1,1) do ( for /l %%i in (0,1,9) do ( for ...
- [LeetCode系列] 双单链表共同节点搜索问题
找到两个单链表的共同节点. 举例来说, 下面两个链表A和B: A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3 共同节点为c1. 分析: 共同节点距离A,B的起点 ...
- commonJS、AMD、es模块化 区别(表格比较)
commonJS.AMD.es6模块化 区别(表格比较): table th:first-of-type { } table th:nth-of-type(3) { width: 150px; } t ...
- linux同一台机子上用多个git 账号
Step 1 - Create a New SSH KeyWe need to generate a unique SSH key for our second GitHub account. ssh ...
- LOJ 572 「LibreOJ Round #11」Misaka Network 与求和——min_25筛
题目:https://loj.ac/problem/572 莫比乌斯反演得 \( ans=\sum\limits_{D=1}^{n}\left\lfloor\frac{n}{D}\right\rflo ...