当前位置:
首页
文章
后端
详情

人工智能和机器学习系列(一) Python 基础

Python 是人工智能和机器学习的首要编程语言。本文将向您介绍重要的 Python 基础知识,包括:从何处获取 Python、Python 2 和 Python 3 之间的区别以及熟悉的语言概念(如语法和变量),如何在 Python 中工作。

简介

当开发人员开始使用人工智能 (AI) 和机器学习 (ML) 软件时,他们今天最有可能遇到的编程语言是 Python 和 C/C++。大多数情况下,C/C++ 用于专门的应用程序,例如嵌入式物联网 (IoT) 和高度优化的、特定于硬件的神经网络库。

Python 是大多数 AI 和 ML 应用程序开发中最常用的语言,即使是为那些 IoT 和硬件加速应用程序进行原型设计和优化模型也是如此。

对于从 C#、Java 甚至 JavaScript 等其他语言开始使用 Python 的开发人员,本文将向您介绍 Python 独特语法的关键元素,例如循环,以及它们与您可能了解的内容有何不同。

本系列的其他文章将探讨如何使用可供 AI 和 ML 开发人员使用的众多 Python 库,例如 OpenCV、Natural Language Toolkit (NLTK)、Keras 和 TensorFlow。

本文将向您介绍重要的 Python 基础知识,包括:

  • 从哪里获得 Python
  • Python 2 和 Python 3 的区别
  • 熟悉的语言概念(如语法和变量)如何在 Python 中工作

从哪里获得 Python

开发人员通常会问的第一个问题是:我从哪里得到 Python?

答案是:这取决于您的系统和编程环境。默认情况下,Python 安装在 Mac OS 和一些 Linux 发行版上。对于没有 Python 的系统,您可以从以下位置获取安装程序:

  • 在Python的下载页面
  • 在微软商店
  • 包管理系统,包括 apt-get、rpm、homebrew 等

另一种选择是Jupyter Notebooks和 JupyterLabs 交互式开发工具。

第三种选择——我们推荐并将用于这些 Python AI/ML 文章的选择——Anaconda,一个专为统计、数据科学和 AI/ML 项目设计的综合软件平台。

Anaconda 包括 JupyterLab(前面提到的基于 Web 的 IDE)以及您在学习 AI 时可能需要的许多其他工具、库和示例数据源。一旦我们了解机器学习库、数据集和可视化,您会发现它们很有帮助。

哪个版本:Python 2 或 Python 3?

对于语言新手来说,使用 Python 2 还是 Python 3 是一个常见的困惑来源。

Python 2 是一个仍然经常使用的旧版本,并且仍然作为 Python 的默认版本安装在一些当前的操作系统中。对 Python 2 的官方支持将于 2020 年初结束。

如果您刚开始使用 Python,则应该使用 Python 3。

Python 3 的持续支持和开发仍在继续。这也适用于您可能想要使用的库:有些可能仍支持这两个版本,但许多将完全转移到 Python 3 或可能会这样做。

你怎么知道你的系统上安装了哪个版本?

在 Linux 系统和 Mac OS 上,该python命令默认为 ​Python 2​,您可以将python3命令用于 ​Python 3​。

要确定系统上安装了哪个版本,请转到终端窗口或命令提示符并运行以下命令:

python --version

如果安装了 Python,它会返回python命令使用的 Python 版本。

Python 2.7.16

python3 --version命令对 Python 3 执行相同的操作。

Python 3.7.4

识别代码示例中的 Python 版本

在线教程并不总是明确提及它们是使用 Python 2 还是 Python 3。幸运的是,您可以使用一些启发式方法来确定教程使用的版本。

一是在标准输出上打印文本的方式不同。在 Python 3 中,只有一种有效的方法可以做到这一点:

# Python 2 and Python 3
# This is a comment, by the way
print("Hello, world!")

该语法在 Python 2 中也有效,但 Python 2 示例更常用这种替代语法:

# This only works in Python 2
print "Hello, world!"

Python 语言基础:类型和变量

Python 是动态类型的。类型不与变量名相关联,只与变量值相关联。这与静态类型语言(例如 C# 和 Java)不同,在这些语言中,如果您定义了以后int i = 0;,就无法编写i = "test";。在 Python 中,你可以。

Python 是强类型的(例如,JavaScript 是弱类型的)。在强类型语言中,对不同类型值之间的操作有更严格的限制。在 JavaScript 中,您可以执行"abc" + 1并以 string 结束"abc1",但是如果您在 Python 中尝试相同的操作,您将收到一个错误,表明您无法将字符串与整数连接起来。

在 Python 中分配变量可以这样完成:

name = "value"

请注意,行不以分号结尾。

定义和调用函数如下所示:

def say_hello(who):
    print("Hello ", who)

name = input("Your name: ")
say_hello(name)

这是在 Jupyter Notebook 中的样子:

与 C# 等语言不同,Python 不使用方括号来指定哪些代码行属于函数。相反,Python 使用缩进。具有相同缩进级别的一系列行形成一个块。缩进代码的推荐方法是每个缩进级别使用四个空格。但是,您也可以使用制表符或其他数量的空格。缩进只需在块内保持一致。

您可以使用return关键字从函数返回一个值:

def sum(a, b):
    return a + b

如果函数没有return语句,它将返回None(Python's null)。

Python 也支持高阶函数(返回函数或将函数作为参数的函数)。例如,该operation函数返回两个函数之一:

def sum(a, b):
    return a + b

def difference(a, b):
    return a - b

def operation(calculate_sum):
    if calculate_sum:
        return sum
    else:
        return difference

然后可以这样使用:

operation(True)(5, 4)


结论

我们讨论了 Python 2 和 Python 3 之间的区别,并了解了如何识别代码片段中使用的版本。然后我们了解了 Python 的一些基础知识:类型、变量和函数。更多关于Python3,可以学习一下Python3相关教程的内容。


免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

怎么用Java反射获取包下所有类? 详细代码实例操作

Java的反射机制就是在运行状态下,对于任何一个类,它能知道这个类的所有属性和方法;对于任何一个对象,都能调用这个对象的任意一个方法。本篇文章将通过具体的代码示例,展示如何通过Java反射来获取包下的所有类。


怎么用Java反射获取包下所有类? 详细代码实例操作

了解Java中的volati关键字的作用 以及具体使用方法

本篇文章将和大家分享一下Java当中的volatile关键字,下面将为各位小伙伴讲述volatile关键字的作用以及它的具体使用方法。


了解Java中的volati关键字的作用 以及具体使用方法

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: 上面的代码会将 map 中所有的值都转为 String 类型。 HashMap 是 Java

Java Map 所有的值转为String类型

员工线上学习考试系统

有点播,直播,在线支付,三级分销等功能,可以对学员学习情况的监督监控,有源码,可二次开发。支持外网和局域网私有化部署,经过测试源码完整可用!1、视频点播:视频播放,图文资料,课件下载,章节试学,限时免

员工线上学习考试系统