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.您将 ...
随机推荐
- ODBC的基础架构
*) 基本概念:1. 应用程序(Application)2. ODBC驱动管理器(ODBC Driver Manager) 负责管理应用程序和驱动程序间的通信,主要功能包括:解析DSN (数据源名称, ...
- 与众不同 制作会唱歌的WinRAR - imsoft.cnblogs
为了使用方便,我们可能会把RAR压缩包制作成自解压文件.WinRAR自带的自解压模块虽然使用很方便,但千篇一律的外观看起来实在 乏味.其实,只要通过简单改造,你就可以制作出与众不同,声色俱佳的WinR ...
- 概率DP HDU 4586 play the dice
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4586 解题思路: 只考虑第一次,获得的金币的平均值为sum/n.sum为所有色子的面的金币值相加. ...
- 状压dp终极篇(状态转移的思想)
状压dp是将每种状态都压缩成用一个二进制串,然后利用位运算进行操作的dp,而凡是dp都需要进行状态转移 对于简单的dp问题只需要一个二维数组dp[ i ][ j ]就能解决 具体操作为首先把状态压缩为 ...
- 表单添加缩略图及截图js代码
此为表单提交是上传截图的代码,待优化: // 添加小程序图片 function addAvatar(obj){ var file = obj.files[0]; limit($('.avatar_bo ...
- leetcode:Single Number【Python版】
1.用双重循环逐个遍历(超时) 2.用list B的append和remove函数(超时) 3.用dict B(AC) class Solution: # @param A, a list of in ...
- FastAdmin 教程草稿大纲
FastAdmin 教程草稿大纲 计划 FastAdmin 教程大纲 FastAdmin 环境搭建 phpStudy 2018 安装 一键 CRUD 教程 环境变量配置 环境安装 命令行安装 列出所需 ...
- 3种web会话管理方式:基于server端session方式、cookie-based方式、token-based方式
出处:http://www.cnblogs.com/lyzg/p/6067766.html
- js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法。
js一种继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } ClassA ...
- 弹性盒子布局(display:flex)知识点
设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效.