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.您将 ...
随机推荐
- 20155316 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结 这周总结 try catch语法 异常继承结构 throw finally AutoCloseable接口 Collection Map Lambda表达式 上周总结 三个关键 类与 ...
- Visual Studio 2017 以前的旧格式的 csproj Import 进来的 targets 文件有时不能正确计算属性(PropertyGroup)和集合(ItemGroup)
我在之前的博客中有教大家如何编写 NuGet 工具包,其中就有编写 .targets 文件. 我在实际的使用中,发现 Visual Studio 2017 带来的含 Sdk 的新 csproj 格式基 ...
- Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡 分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑 ...
- java语法基础练习
1.阅读示例: EnumTest.java,并运行.分析结果 代码: public class EnumTest { public static void main(String[] args) { ...
- HDU 4669 Mutiples on a circle 数位DP
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4669 考察对取模的的理解深不深刻啊,当然还有状态的设计····设d[i][j]表示以第i个数结尾,余 ...
- HDU 4647 Another Graph Game 想法类
解题思路:若没有边权,则对点权从大到小排序即可.. 考虑边,将边权拆成两半加到它所关联的两个点的点权中即可. ..因为当两个人分别选择不同的点时,这一权值将互相抵消. 以上摘自杭电的解题报告. 至于为 ...
- tarjan强联通分量(模板)
#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #inc ...
- CUDA H624解码性能测试
测试环境: Cpu: Inter(R)Core(TM)i7-4790 CPU @3.6GHZ GPU: NVIDIA GeForce GTX960* 1 操作系统: W ...
- 思维题(两点逼近)LeetCode11 Container with Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- Patch打补丁学习笔记
1.基本命令语法: patch [-R] {-p(n)} [--dry-run] < patch_file_name p:为path的缩写. n:指将patch文件中的path第n条’/’及其左 ...