Python简介

Python的历史

  1. 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
  2. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。
  3. 1994年1月:Python 1.0正式发布。
  4. 2000年10月16日:Python 2.0发布,增加了实现完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
  5. 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。

目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以查看一篇名为《Python简史》的博文。

Python的优缺点

Python的优点很多,简单的可以总结为以下几点。

  1. 简单和明确,做一件事只有一种方法。
  2. 学习曲线低,跟其他很多语言相比,Python更容易上手。
  3. 开放源代码,拥有强大的社区和生态圈。
  4. 解释型语言,天生具有平台可移植性。
  5. 支持两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
  6. 可扩展性和可嵌入性,可以调用C/C++代码,也可以在C/C++中调用Python。
  7. 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在以下几点。

  1. 执行效率稍低,因此计算密集型任务可以由C/C++编写。
  2. 代码无法加密,但是现在的公司很多都不是卖软件而是卖服务,这个问题会被淡化。
  3. 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

Python的应用领域

目前Python在云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、图像识别和处理等一系列的职位。

搭建编程环境

Windows环境

可以在Python官方网站下载到Python的Windows安装程序(exe文件),需要注意的是如果在Windows 7环境下安装需要先安装Service Pack 1补丁包(可以通过一些工具软件自动安装系统补丁的功能来安装),安装过程建议勾选“Add Python 3.6 to PATH”(将Python 3.6添加到PATH环境变量)并选择自定义安装,在设置“Optional Features”界面最好将“pip”、“tcl/tk”、“Python test suite”等项全部勾选上。强烈建议使用自定义的安装路径并保证路径中没有中文。安装完成会看到“Setup was successful”的提示,但是在启动Python环境时可能会因为缺失一些动态链接库文件而导致Python解释器无法运行,常见的问题主要是api-ms-win-crt*.dll缺失以及更新DirectX之后导致某些动态链接库文件缺失,前者可以参照《api-ms-win-crt*.dll缺失原因分析和解决方法》一文讲解的方法进行处理或者直接在微软官网下载Visual C++ Redistributable for Visual Studio 2015文件进行修复,后者可以下载一个DirectX修复工具进行修复。

转载,来源:https://github.com/jackfrued/Python-100-Days

Day 1:初认识Python相关推荐

  1. python while循环if_初入python 用户输入,if,(while 循环)

    python 基础 编译型: 一次性将所有程序编译成二进制文件. 缺点:开发效率低,不能跨平台 优点:运行速度快. :c ,c++语言 等等.... 解释行:当程序执行时,一行一行的解释. 优点:开发 ...

  2. 人机对战初体验:Python基于Pygame实现四子棋游戏

    人机对战初体验-四子棋游戏 继去年3月人机大战引发全球瞩目以来,围棋AI(人工智能)再度引发跨领域的关注:一个叫Master的围棋AI,几天时间,面对中日韩顶尖职业围棋选手,已取得60胜0败的恐怖战绩 ...

  3. python利器怎么用-UliPad 初体验----python 开发利器

    学习python有段时间,最近博客更新比较慢了,空闲时间在零零碎碎的学python,难成文,也就没整理成博客. 学习python最苦恼的就是没有趁手IDE,之前学java时Eclipse肯定是不二之选 ...

  4. python打开.data_DataX初体验-python命令启动以及纯java启动

    一.DataX安装 官网描述很详细,很简单---->DataX安装 二.使用示例:从Oracle数据库导数据到Mysql数据库 事先准备: Oracle数据库的ORDER_INFO表,MySQL ...

  5. UliPad 初体验----python 开发利器

    学习python 有段时间,最近博客更新比较慢了,空闲时间在零零碎碎的学python ,难成文,也就没整理成博客. 学习python 最苦恼的就是没有趁手IDE ,之前学java 时 Eclipse  ...

  6. python中while的特点_Python【2】:初入python 用户输入,if,(while 循环)

    python 基础 编译型: 一次性将所有程序编译成二进制文件. 缺点:开发效率低,不能跨平台 优点:运行速度快.:c ,c++语言 等等.... 解释行:当程序执行时,一行一行的解释. 优点:开发效 ...

  7. 初入python世界——python基础语法

    python基础语法 程序的格式框架 缩进(Indent) Python语言采用严格的"缩进"来表明程序的格式框架.缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关 ...

  8. 【Python百炼成魔】魂圣初入Python之Python最佳入门实践

    专栏介绍: 注: 专栏介绍,只出现在一个新的专栏的第一篇文章中,后续会逐渐完善专栏介绍,变成一篇单独文章,用于介绍专栏更新的内容和后续的写作计划. [ Python百炼成魔]专栏 ,讲述少年莫阳,为拿 ...

  9. 初体验python图片识别文字【Tesseract】OCR技术

    系列文章目录 @[TOC](文章目录) 前言 现在OCR技术用的比较广泛,但是大多接口都是需要付费,例如腾讯.百度.阿里 但是当我们想用到里面的文字时,还是要一个字一个字打出来.那么我们能不能直接识别 ...

  10. 初入Python(一) Pygame贪吃蛇游戏的编写与改进

    贪吃蛇游戏是一款简单耐玩的休闲益智类游戏,利用pygame可以实现轻松编写,不需要辅佐图片等等元素,可以直接利用涂色方块表示,吃果子变长的原理也很容易实现,将body分为一块一块,每块有自己的位置属性 ...

最新文章

  1. Python3:ImportError: No module named 'compiler.ast'
  2. 游标对于分页存储过程
  3. php display_errors
  4. java 后台路线学习
  5. 膨胀的计算机仿真,制冷空调中的计算机仿真与控制
  6. 机器学习:SVM算法的对偶形式
  7. TrackViewState到底是干什么的
  8. Python:常用模块简介(1)
  9. 结对-贪吃蛇-开发过程
  10. 【Linux】swap分区简介及空间增加方式
  11. linux备份数据库软件有哪些内容,Linux网络备份MySQL数据库的应用方法
  12. 重构 阅读心得(转)
  13. 微店一键复制商品软件使用教程
  14. rmvb 转 avi 方法
  15. 成倍提升ORM系统SQL性能的一个方法
  16. MT【91】空间余弦定理
  17. 关于C语言输出ASCII码128~255和有符号char型溢出的问题。此处大坑弄明白了后记录下来分享……
  18. 使用easypoi操作excel
  19. 如何用蓝牙网关广播蓝牙数据
  20. react 中 ref 管理列表

热门文章

  1. 鸿蒙行为什么不上手机,为何其他国产手机不接入鸿蒙?王成录一语道出真谛
  2. 最新2010年遂宁论坛男女经典/(很有才、很搞笑)
  3. Unity技能系统框架(二)技能抽象模块细化
  4. Day2 1522. 无线网络
  5. Linux 解压文件夹下所有压缩包
  6. Java 集合详解,常用集合类
  7. 常用的几种java集合类总结
  8. ResultMap的使用
  9. 【linux基本操作】
  10. 2款最新红包封面来了,定好闹钟领取!