你不会找到路,除非你敢于迷路

0%

Python 兴趣小组第一周作业

Python 是什么?

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。由 Guido van Rossum 于 1989 年底发明。Python 的第一个公开发行版发行与 1991 年,源代码遵循 GPL(GNU General Public License)协议。Python 语法简洁而清晰,具有丰富和强大的类库。它常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。

为什么会出现 Python 这种语言?

Python 由 Guido van Rossum 于 1989 年年底出于某种娱乐目的而开发,Python 语言是基于 ABC 教学语言的,而 ABC 这种语言非常强大,是专门为非专业程序员设计的。但 ABC 语言并没有获得广泛的应用,Guido 认为这是非开放造成的。

Gudio 在 Python 中避免了 ABC 不够开放的劣势,加强了 Python 和其他语言如 C、C++ 和 Java 的结合性。此外,Python 还实现了许多 ABC 中未曾实现的东西,这些因素大大提高了 Python 的流行程度。

Python 能解决哪些问题?

  • Web 应用开发

    Python 拥有 Django,Flask,Tornado 等 Web 开发框架,在 Web 开发领域已经被广泛应用。

  • 自动化运维

    在 Web 开发领域,Python 只是众多语言选择之一。但在自动化运维领域,Python 则是必备技能。灵活的功能和丰富的类库使其成为运维工程师的首选语言。

    大量自动化运维工具和平台或以 Python 开发,或提供 Python 的配置接口。单从 Linux 内置 Python 这一点来看也足见其在服务器和运维领域的地位。

  • 网络爬虫

    也叫网络蜘蛛,是指从互联网采集数据的程序脚本。对于很多数据相关公司来说,爬虫和反爬虫技术都是其赖以生存的重要保障。尽管很多语言都可以编写爬虫,但灵活的 Python 无疑也是当前的首选。基于 Python 的爬虫框架 Scrapy 也很受欢迎。

  • 数据分析

    当通过爬虫获取了海量数据之后,需要对数据进行清洗、去重、存储、展示、分析,在这方面 Python 有许多优秀的类库:NumPyPandasMatplotlib 可以让你的数据分析工作事半功倍。

  • 科学计算

    虽然 Matlab 在科学计算领域有着不可取代的地位,但 Python 作为一门通用的编程语言,可以带来更广泛的应用和更丰富的类库。NumPy、SciPy、BioPython、SunPy 等类库在生物信息、地理信息、数学、物理、化学、建筑等领域发挥着重要作用。

  • 人工智能

    Python 在人工智能大范畴领域内的数据挖掘机器学习神经网络深度学习等方面都是主流的编程语言,得到广泛的支持和应用。

    • 机器学习:Scikit-learn
    • 自然语言处理:NLTK
    • 深度学习:Keras、Google 的 TensorFlow、Facebook 的 PyTorch、Amazon 的 MxNet

    这些已经占据业内主流的工具要么是用 Python 开发,要么也提供了 Python 版本。Python 无疑已成为 AI 领域的必修语言。

  • 胶水语言

    Python 简洁、灵活、通用,几乎可以在各种场景与各种平台、设备、语言进行连接,因此被称为胶水语言。有人把它比作小巧而又多功能的瑞士军刀。

Python 和其他语言相比有什么优劣?

优点

  • 简单

    相比其他编程语言,Python 代码非常简单,上手非常容易。

    比如我们要完成某个功能,使用 C 语言可能需要写 1000 行代码,Java 可能是 100 行,而 Python 可能只需要 20 行。这是 Python 具有巨大吸引力的一大特点。

    Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 代码规范

    Python 采用强制缩进的方式使得代码具有较好的可读性,而且 Python 语言写的程序不需要编译成二进制代码。

  • 可移植

    Python 程序可以跨平台运行。

  • 丰富的标准库

    Python 标准库非常庞大,可以帮助处理各种工作。

  • 可扩展

    如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。

  • GUI编程

    Python 支持 GUI 可以创建和移植到许多系统。

  • 可嵌入

    你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得”脚本化”的能力。

缺点

  • 运行速度较慢

    这是解释性语言的通病。

    Python 程序比 Java、C、C++ 等程序的运行效率都要慢。

  • 源代码加密困难

    不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。

现阶段主要在哪些方面应用比较广泛?

Python 现阶段主要用于 Web 开发,网络爬虫,人工智能,数据分析,机器学习,自动化运维、科学计算等领域。

能够帮你解决什么问题?

  • 更简单地入门人工智能;
  • 自动化运维;
  • 倘若能够深入人工智能方向,可以为我所在的公司创造更多价值。

你能 / 你想用 Python 做些什么?

  • 把一些重复性的工作脚本化;
  • 尝试学习人脸识别相关知识;

参考资料

  • 学了 Python 能用来做什么? — Crossin
  • 可以用 Python 编程语言做哪些神奇好玩的事情?
微信公众号
扫码关注, 一起进步!