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.您将 ...
随机推荐
- shell 脚本实战笔记(5)--搭建资源的镜像服务器
背景: 由于访问国外站点资源, 有时特别慢. 偶尔一次下载, 肯定还能忍受, 对于多次使用或者小团队内部使用, 搭建一个镜像站点, 无疑是个明智的决定. 这边以搭建CDH5的yum源镜像, 作为例子, ...
- 生成html报告并整合自动发动邮件功能
from HTMLTestRunner import HTMLTestRunnerfrom email.mime.text import MIMETextfrom email.header impor ...
- synchronized (lock) 买票demo 线程安全
加锁防止多个线程执行同一段代码! /** http://blog.51cto.com/wyait/1916898 * @author * @since 11/10/2018 * 某电影院目前正在上映贺 ...
- 【NOI2003】银河英雄传
迭代不一定比递归好 原题: 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星 ...
- string str将str转字符数组以及字符数组初始化
c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地 ...
- day35 python学习GIL解释器锁
二 GIL介绍 GIL本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是将并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务所修改,进而保证数据安全. 可以肯定的一点是:保护不同 ...
- TensorFlow学习线路
如何高效的学习 TensorFlow 代码? 或者如何掌握TensorFlow,应用到任何领域? 作者:黄璞链接:https://www.zhihu.com/question/41667903/ans ...
- WAJUEJI which home strong!nyoj
WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是 ...
- 顶级域名和子级域名之间的cookie共享和相互修改、删除
举例: js 设置 cookie: domain=cag.com 和 domain=.cag.com 是一样的,在浏览器cookie中,Domain都显示为 .cag.com. 就是说:以下2个语句是 ...
- 共享设置及ftp设置
第一部分 共享设置 一.添加编译选项 network---file transfer---aria2 ...