机器学习和AI的Python基础

目录

介绍

从哪里获得Python

哪个版本:Python 2或Python 3?

在代码示例中识别Python版本

Python语言基础:类型和变量

结论


  • 下载源-769 B

介绍

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

Python是大多数AIML应用程序开发中最常用的语言,甚至是用于那些IoT和硬件加速应用程序的原型设计和优化模型。

对于从其他语言(例如C#,Java甚至JavaScript)使用Python的开发人员,本文向您介绍Python独特语法的关键元素(例如循环),以及它们与您可能知道的区别。

本系列中的其他文章将探讨如何与众多适用于AIML开发人员的Python库一起使用,例如OpenCV,自然语言工具包(NLTK),KerasTensorFlow

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

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

从哪里获得Python

开发人员通常会问的第一个问题是:在哪里可以获得Python

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

  • Python的下载页面
  • 微软商店
  • 软件包管理系统,包括apt-getrpmhomebrew和其他

另一个选择是Jupyter NotebooksJupyterLabs交互式开发工具。

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

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

哪个版本:Python 2Python 3

对于刚接触该语言的人来说,使用Python 2还是Python 3是造成混淆的常见原因。

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

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

Python 3的持续支持和开发仍在继续。您可能想使用的库也是如此:一些库可能仍支持这两个版本,但许多库将完全或可能支持Python 3

您如何知道系统上安装了哪个版本?

Linux系统和Mac OS上,该python命令默认为Python 2,而对Python 3 使用python3命令。

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

python --version

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

Python 2.7.16

python3 --version命令对Python 3的作用相同。

Python 3.7.4

在代码示例中识别Python版本

在线教程并不总是明确提及它们使用的是Python 2还是Python3。幸运的是,您可以使用两种启发式方法来找出本教程使用的版本。

一是标准输出上的文本打印方式不同。在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 3中是无效的。因此,print没有括号的语句清楚地表明代码是用Python 2编写的。

另一个常见的判断是代码如何通过stdin接受输入。

Python 3中,读取原始输入是通过input函数完成的。

Python 2中,input函数也存在,但在那里它将输入评估为Python代码并返回结果。

对于原始输入,Python 2使用raw_input。此功能在Python 3中不存在。

如果代码段不与标准输出/输入交互,则可以查看标准库中使用的功能。Python 3中已更改的功能列表在这里可能会让我们走得太远,但是您可以查看The Conservative Python 3 Porting Guide以获得更完整的列表。

话虽如此,许多用Python 2编写的代码在Python 3中都能正常工作。如果对代码片段有疑问,请试一下并在Python 3中运行。如果由于Python版本而无法使用,请在线搜索错误消息会很快指出。

Python语言基础:类型和变量

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

Python是强类型的(例如,JavaScript是弱类型的)。在强类型语言中,对不同类型的值之间的操作有更严格的约束。在JavaScript中,您可以这样做"abc" + 1并最终得到一个字符串"abc1",但是如果在Python中尝试相同的操作,则会收到一条错误消息,指示您无法将字符串与整数连接在一起。

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

name = "value"

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

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

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

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

这是Jupyter Notebook中的外观:

机器学习和AI的Python基础_第1张图片

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

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

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

如果一个函数没有return语句,它将返回NonePythonnull)。

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)

机器学习和AI的Python基础_第2张图片

结论

我们讨论了Python 2Python 3之间的区别,并了解了如何识别代码段中使用的版本。然后,我们研究了Python的一些基础知识:类型、变量和函数。

接下来的文章中,我们将讨论列表、元组和循环!

你可能感兴趣的:(人工智能,python)