什么是 Python?

Python 是一种编程语言,广泛用于 Web 应用程序、软件开发、数据科学和机器学习 (ML)。开发人员使用 Python 是因为其高效和易于学习,并且可以在许多不同的平台上运行。Python 软件可供免费下载,可与所有类型的系统完美集成,并且还可以提高开发速度。

Python 有哪些优势?

Python 的优势包括:

  • 开发人员可以轻松阅读和理解 Python 程序,因为其具有像英语一样的基本语法。 
  • Python 可提高开发人员的效率,因为与许多其他语言相比,开发人员使用较少行数的代码即可编写 Python 程序。
  • Python 具有大型标准库,包含适用于几乎任何任务的可重复使用代码。因此,开发人员不必从头开始编写代码。
  • 开发人员可以轻松使用 Python 搭配其他受欢迎的编程语言(例如 Java、C 和 C++)。
  • 活跃的 Python 社群包括来自全球的数百万名开发人员,可提供支持。如果您遇到问题,您可以从社群获得快速支持。
  • 如果您想学习 Python,海量有帮助的资源遍布互联网。例如,您可以轻松找到视频、教程、文档和开发人员指南。
  • Python 可在不同的计算机操作系统(例如 Windows、macOS、Linux 和 Unix)之间迁移。

Python 有哪些用途?

Python 语言在应用程序开发方面具有多种使用场景,包括以下示例:

服务器端 Web 开发

服务器端 Web 开发包括复杂的后端函数,网站通过执行这些函数向用户显示信息。例如,在通过网络发送数据时,网站必须与数据库进行交互,与其他网站进行通信,以及保护数据。 

Python 对编写服务器端代码非常有用,因为其提供许多库,这些库中包含预编写的复杂后端函数代码。开发人员也可以使用广泛的 Python 框架,这些框架提供所有必须的工具以快速和轻松构建 Web 应用程序。例如,开发人员可以在数秒内创建框架 Web 应用程序,因为他们不需要从头开始编写。然后,他们可以使用框架的测试工具对其进行测试,而无需依赖于外部测试工具。

通过 Python 脚本实现自动化

脚本语言是一种编程语言,用于自动化人类通常执行的任务。程序员广泛使用 Python 脚本自动化许多日常任务,如下所列:

  • 一次性重命名大量文件
  • 将文件转化为另一种文件类型
  • 删除文本文件中的重复字词
  • 执行基本数学运算
  • 发送电子邮件消息
  • 下载内容
  • 执行基本日志分析
  • 查找多个文件中的错误

数据科学和机器学习

数据科学从数据提取有价值的知识,机器学习(ML)教授计算机自动从数据学习并做出准确预测。数据科学家将 Python 用于数据科学任务,如下所列:

  • 修复和删除不正确的数据,也称为数据清理 
  • 提取和选择众多数据功能
  • 数据标注指为数据添加有意义的名称
  • 从数据中查找不同的统计数据
  • 使用图表和图形(例如折线图、条形图、直方图和饼图)可视化数据
 
数据科学家使用 Python ML 库训练 ML 模型并构建准确分类数据的分类器。不同领域的人员使用基于 Python 的分类器执行分类任务,例如图像、文本和网络流量分类;语音识别;以及人脸识别。数据科学家也将 Python 用于深度学习,深度学习是一种高级 ML 技术。

软件开发

软件开发人员通常将 Python 用于不同的开发任务和软件应用程序,如下所列:

  • 持续跟踪软件代码中的错误
  • 自动构建软件
  • 处理软件项目管理
  • 开发软件原型
  • 使用图形用户界面 (GUI) 库开发桌面应用程序
  • 开发基于文本的简单游戏直至更复杂的视频游戏

软件测试自动化

软件测试是指检查软件的实际结果是否与预期结果相匹配以确保软件没有错误的流程。 

  • 开发人员使用 Python 单元测试框架(例如 Unittest、Robot 和 PyUnit)测试其编写的函数。 
  • 软件测试人员使用 Python 为众多测试场景编写测试用例。例如,他们使用其测试 Web 应用程序的用户界面、多个软件组件和新功能。 

开发人员可以使用多种工具自动运行测试脚本。这些工具称为持续集成/持续部署 (CI/CD) 工具。软件测试人员和开发人员使用 CI/CD 工具(例如 Travis CI 和 Jenkins)自动化测试。只要开发人员引入新的代码更改,CI/CD 工具就会自动运行 Python 测试脚本并报告测试结果。

Python 的发展历史?

荷兰的计算机程序员吉多·范罗苏姆(Guido Van Rossum)创建了 Python。他于 1989 年在荷兰国家数学与计算机科学研究中心 (CWI) 开启了 Python 之旅,最初只是为在圣诞节期间能保持依旧忙碌的业余爱好。语言的名字受 BBC 电视剧《巨蟒剧团之飞翔的马戏团》的启发,因为吉多·范罗苏姆是该剧的忠实粉丝。 

Python 版本的历史

  • 吉多·范罗苏姆于 1991 年发布了首版 Python 代码(版本 0.9.0)。其已包括一些优秀功能,例如一些用于错误处理的数据类型和函数。 
  • Python 1.0 于 1994 年发布,提供轻松处理数据列表的新函数,例如映射、筛选和减少。
  • Python 2.0 于 2000 年 10 月 16 日发布,为程序员提供新的有用功能,例如支持 Unicode 字符和以较短方式遍历列表。
  • Python 3.0 于 2008 年 12 月 3 日发布。其包括更多功能,例如打印函数,为数字除法和错误处理提供更多支持。 

Python 有哪些特点?

Python 编程语言的特点铸就其独一无二:

一种直译式语言

Python 是一种直译式语言,这意味着其直接逐行运行代码。如果程序代码中存在错误,其将停止运行。因此,程序员可以快速找到代码中的错误。

一种易于使用的语言

Python 使用像英语一样的字词。与其他编程语言不同,Python 不使用花括号。其使用缩进。 

一种动态输入的语言

程序员在编写代码时不必说明变量类型,因为 Python 会在运行时确定变量类型。正因为如此,您可以快速编写 Python 程序。

一种高级语言

与一些其他编程语言相比,Python 更接近于人类语言。因此,程序员不必担心其底层功能性,例如架构和内存管理。

一种面向对象语言

Python 将任何事物视为对象,但是其也支持其他类型的编程,例如结构化和函数式编程。

什么是 Python 库?

库是常用代码的合辑,开发人员可以在其 Python 程序中包括库以避免从头开始编写代码。默认情况下,Python 附带标准库,内含大量可重复使用的函数。此外,超过 13.7 万个 Python 库适用于众多应用程序,包括 Web 开发、数据科学和机器学习 (ML)。

有哪些最受欢迎的 Python 库?

Matplotlib

开发人员使用 Matplotlib 将数据绘制成高质量的二维和三维(2D 和 3D)图形。其通常用于科学应用程序。借助 Matplotlib,您可以以不同的图表(例如条形图和折线图)显示数据,进而可视化数据。您也可以一次绘制多个图表,图形可在所有平台之间迁移。

Pandas

Pandas 提供优化的和灵活的数据结构,您可以使用这些结构操作时间序列数据和结构化数据,例如表格和阵列。例如,您可以使用 Pandas 读取、编写、合并、筛选和分组数据。许多人将其用于数据科学、数据分析和 ML 任务。

NumPy

NumPy 是一个受欢迎的库,开发人员可使用其轻松创建和管理阵列,操作逻辑形状,以及执行线性代数操作。NumPy 支持与许多语言(例如 C 和 C++)集成。

Requests

Requests 库提供 Web 开发所需的有用函数。在与 Web 应用程序通信时,您可以使用 Requests 发送 HTTP 请求、添加标头、添加 URL 参数、添加数据和执行更多任务。 

OpenCV-Python

OpenCV-Python 是一个供开发人员用于为计算机视觉应用程序处理图像的库。其为图像处理任务提供许多函数,例如同步读取和编写图像,从 2D 环境构建 3D 环境,以及捕获和分析视频中的图像。

Keras

Keras 是 Python 的深度神经网络库,为数据处理、可视化等提供完美支持。Keras 支持许多神经网络。其具有模块化结构,可在编写创新应用程序时提供灵活度。

什么是 Python 框架?

Python 框架是程序包和模块的合辑。模块是一组相关代码,程序包是一组模块。开发人员可以使用 Python 框架快速构建 Python 应用程序,因为他们不必担心低级别详细信息,例如通信如何在 Web 应用程序中发生,或者 Python 如何使程序更加快速。Python 包含两种类型的框架: 

  • 全堆栈框架包括构建大型应用程序所需的几乎任何事物。
  • 微框架是一个基本框架,提供构建简单 Python 应用程序所需的最少函数。如果应用程序需要更多精细函数,其也提供扩展工具。

有哪些最受欢迎的 Python 框架?

开发人员可以使用多个 Python 框架提高其开发效率,包括以下框架:

Django

Django 是一个广泛使用的全堆栈 Python Web 框架,用于开发大型 Web 应用程序。其提供一些有用的功能,包括用于开发和测试的 Web 服务器,用于构建网站前端的模板引擎以及众多安全机制。

Flask

Flask 是一个用于开发小型 Web 应用程序的微框架。其功能包括强大的社群支持,出色编写的文档、模板引擎、单元测试和内置的 Web 服务器。其也为验证支持、数据库映射层和 Web 安全提供扩展工具。

TurboGears

TurboGears 是一个为快速和轻松构建 Web 应用程序而设计的框架。以下是它的一些受欢迎的功能: 

  • 特定的数据库表结构
  • 用于创建和管理项目的工具
  • 构建数据库的模板引擎
  • 构建前端的模板引擎
  • 处理 Web 安全的机制

Apache MXNet

Apache MXNet 是一个快速、灵活和可扩展的深度学习框架,开发人员可以使用其构建研究原型和深度学习应用程序。其支持多个编程语言,包括 Java、C++、R 和 Perl。其提供一组丰富的工具和库以支持开发。例如,您可以找到互动式机器学习(ML)书籍,计算机视觉工具包,以及用于处理自然语言(例如文本和语音)的自然语言处理(NLP)深度学习模型。

PyTorch

PyTorch 是一个建立在 Torch 库之上的 ML 框架,其是另一个开源 ML 库。  开发人员将其用于 NLP、机器人技术和计算机视觉等应用程序,以及发掘图像和视频中有意义的信息。他们也将其用于在 CPU 和 GPU 中运行这些应用程序。

什么是 Python IDE?

集成开发环境 (IDE) 是一个软件,可在一个地方为开发人员提供编写、编辑、测试和调试代码所需的工具。 

有哪些最受欢迎的 Python IDE?

PyCharm

PyCharm 由开发软件工具的捷克公司 JetBrains 创建。其提供两个版本,免费的社群版本适合构建小型 Python 应用程序,付费的专业版本适合构建大型 Python 应用程序,包含以下全套功能:

  • 自动代码完成和代码检查
  • 错误处理和快速修复
  • 在不更改功能性的情况下进行代码清理
  • 支持 Web 应用程序框架,例如 Django 和 Flask
  • 支持其他编程语言,例如 JavaScript、CoffeeScript、TypeScript、AngularJS 和 Node
  • 科学工具和库,例如 Matplotlib 和 NumPy
  • 能够在远程虚拟机上运行、调试、测试和部署应用程序
  • 查找代码中错误的调试程序,识别代码中性能问题的性能分析器,以及运行单元测试的测试运行器
  • 支持数据库

IDLE

集成开发与学习环境(IDLE)是默认安装的 Python IDE。其仅通过 Python 使用 Tkinter GUI 工具包开发,并提供以下功能:
 
  • 适用于许多操作系统,例如 Windows、Unix 和 macOS
  • 提供 Shell 窗口以运行命令和显示输出
  • 提供具有代码语法高亮和自动代码完成功能的多窗口文本编辑器
  • 具有自己的调试程序 

Spyder

Spyder 是一个许多科学家和数据分析师使用的开源 IDE。其通过高级数据分析、数据可视化和调试功能提供全面的开发体验。其包括以下功能:

  • 支持多种语言的丰富代码编辑器
  • 交互式 IPython 控制台
  • 基本调试程序
  • 科学库,例如 Matplotlib、SciPy 和 NumPy
  • 能够探索代码中的变量
  • 能够实时查看文档

Atom

Atom 是 GitHub 开发的免费编辑器,支持以包括 Python 在内的许多编程语言进行编程。借助 Atom,开发人员可以直接通过 GitHub 工作,您可以将代码集中保存到该网站。 Atom 提供以下功能:

  • 能够适配许多操作系统 
  • 轻松安装或创建新程序包
  • 快速自动代码完成
  • 能够搜索文件和项目
  • 轻松自定义界面

什么是 Python SDK?

软件开发工具包 (SDK) 是一个软件工具合辑,开发人员可以使用这些工具以特定语言创建软件应用程序。大部分 SDK 特定于不同的硬件平台和操作系统。Python SDK 包括对开发人员编写应用程序有帮助的许多工具,例如库、代码示例和开发人员指南。

什么是 Python 中的 Boto3?

Boto3 是适用于 Python 的 AWS SDK。您可以使用其创建、配置和管理 AWS 服务,例如 Amazon Elastic Compute Cloud(EC2)Amazon Simple Storage Service(S3)Amazon DynamoDB。Boto3 也为开发人员提供两种类型的 API:低级别 API 和资源 API。

什么是 AWS PyCharm?

AWS Toolkit for PyCharm 是一个适用于 PyCharm IDE 的插件,可以轻松在 AWS 上创建、调试和部署 Python 应用程序。借助 AWS Toolkit for PyCharm,开发人员可以轻松开始 Python 开发。其为开发人员提供一些有用功能,包括入门指南、逐步调试和 IDE 部署。

AWS 的后续步骤