01、python 产生背景
Python 是著名的“龟叔”Guido van Rossum 在 1989 年圣诞节期间, 为了打发无聊的圣诞节而编写的一个编程语言
02、python 编程地位
通过TIOBE
排行榜来看一下python
的地位
根据图片可以看出: 排名位居第三位, 除了编写操作系统贴近硬件的 C 和 广泛应用于企业开发的 Java, python 是谁都不服, 而且排名相对稳定。19 年和 20 年都是第三位, 并无明显浮动
所以想要学习 python, 却还没入手的同学可以放心大胆的学了
TIOBE 排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量, 并使用搜索引擎(如 Google、Bing、Yahoo!)以及 Wikipedia、Amazon、YouTube 统计出排名数据。 ——百度百科
03、python 函数类库
我最初学 python 时有这么一个疑问: python 有没有类似 Java 中 jdk 自带的一些类库, 帮助我们把 常规以及重复操作进行封装使用
事实证明: 多虑了, 我都能想到, 作者会想不到吗 😂
python 自带的类库包括: re,json,time,random,sys,os 等, 涵盖了 json 操作,时间,随机数,流,网络 等操作
除了 python 自带的类库, 还有大量的第三方类库提供引用
04、python 语言特点
Python 是一种 跨平台 的计算机程序设计语言, 可以运行 windos、macos、linux 多个端。 本质上是一个 解释型的脚本语言, 拥有面向对象等特征
解释型: 一边执行一边转换, 执行一行代码, 就将代码翻译成计算机能识别的指令。而 Java、C 等编译型语言则不是这种方式
4.1 python 优点
龟叔给 python 的定位是 “优雅”、“明确”、“简单”, 所以就有了 python 用一招, java 用花招 这种网络段子
python 宗旨就是尽量写 容易看明白 的代码, 尽量 写少的代码, 所以初学者接触 python 并不难
因为 python 本身的 简洁特性, 上手难度并不高, 当时大概学习了不到一天的时间就可以写一些网络调取以及数据清洗入库的脚本
4.2 python 缺点
运行速度
python 的缺点也比较明显, 那就是它的 运行程序的执行速度, 网上有统计的 java、python、c 相关的编程语言运行速度统计, 这里就不详细说了
这里会不会有这么一个疑问: 既然 python 慢, 那为什么这么多人还使用呢?
举个例子, 如果 python 运行一段程序需要 1 秒, C 运行需要 0.01 秒, 对于用户而言是 感觉不到明显差距的
如果你平常使用 python 来编写 便捷功能 脚本,那就更无所谓了。比如说你调用钉钉发送消息的接口, 同时用 C 和 python 分别调取。在时间较短的情况下, 作为调用者你是感知不到与其它语言的速度差异的
当然啦, 说再多的话, 性能慢这是硬伤, 没有办法
代码加密
python 的代码无法进行加密这也是硬伤。 举个例子说明一下, 假如你用的 java 在为客户方公司做项目, 进度到了验收阶段, 客户要求把系统部署到他们环境上一份
因为 java 是编译型语言, 源代码会以 jar 包的形式发布出去, 而且为了防止代码被反编译, 还有 代码混淆、代码加密、虚拟化等技术来解决
但是 python 作为解释型语言, 如果你是用 python 编写的项目, 那么只能把源代码发布出去
类似于企业交付型项目, 很少有听说是用 python 编写。也没有去研究调研 python 如何安全交付等事情
05、python 能做什么?
python 能做的事情非常之多, 简单举几个例子进行说明
5.1 web 开发
pytyon 拥有非常完善的与 web 服务器进行交互的库,以及大量的免费的前端网页模板。更具优势的是,有非常优秀且成熟的 Django Web 框架,功能一应俱全
5.2 数据处理
python 作为一门工程性语言,对于数据处理的类库是相当丰富的,比如有高性能的科学计算类库 NumPy 和 SciPy
5.3 人工智能
真正的人工智能的底层语言是 C/C++,因为真正的计算全在于 C/C++,而 python 仅仅是调用 AI 的接口然后去实现一些逻辑,是因为 CPython 和底层原因的融合使得开发起来更加方便
5.4 网络爬虫
爬虫是属于运营的比较多的一个场景,爬取后的数据分析与计算是 python 最为擅长的领域。目前 python 比较流行的网络爬虫框架是功能非常强大的 scrapy
06、总结
我个人觉得学习下 python 还是有必要的, 如果你本身会一门编程语言, 那么会很快上手编写代码
工作中我是使用 python 造数据、编写功能脚本、清洗一些数据这些功能, 和 Java 相比较的话, 便捷性是我学习它的唯一动力
毕竟也不会转 python 开发, 主要是因为 java 太重了, 如果使用 maven 管理项目的话, 需要引用各种依赖包
而 python 则不会, 内置包已经能满足绝大多数需求了, 相信使用过的同学都很清楚
下一篇系列文章讲下电脑上如何安装 python