1.2 Python 介绍

Applications of Deep Neural Networks with Keras

基于Keras的深度神经网络应用

著:Jeff Heaton 译:人工智能学术前沿

目录

1.Python基础

2.机器学习Python

3.TensorFlow简介

4.表格类数据的训练

5.正则化和Dropout

6.用于计算机视觉的卷积神经网络

7.生成对抗网络

8.Kaggle数据集

9.迁移学习

10.Keras的时间序列

11.自然语言处理与语音识别

12.强化学习

13.Advanced/Other Topics

14.其他神经网络技术

1.2 Python 介绍

Part 1.2: Introduction to Python

Python是一种解释型的高级通用编程语言。由Guido van Rossum创建并于1991年首次发布,Python的设计理念通过显著使用空格来强调代码的可读性。它的语言构造和面向对象的方法旨在帮助程序员为小型和大型项目编写清晰、逻辑的代码。Python已经成为机器学习研究的通用语言,也是TensorFlow的主要语言

2008年发布的Python 3.0是该语言的一个重要修订版本,并不完全向后兼容,许多Python 2代码在Python 3上不能未经修改就运行。本课程使用Python 3。此外,TensorFlow不兼容3之前的Python版本。一个非盈利组织,Python软件基金会(PSF),管理和指导Python开发的资源。2020年1月1日,PSF停止使用Python 2语言,不再提供安全补丁和其他改进。Python解释器可用于许多操作系统。

本课程的前两个模块介绍了Python编程语言的一些方面。然而,所有的书都集中在Python上。两个模块无法涵盖该语言的所有细节。建议读者查阅有关Python语言的其他资源。

print 打印输出函数

print

print("Hello World")

代码片段:可切换语言,无法单独设置文字格式

输出

Hello World

上面的代码将包含文本“hello world”的常量字符串传递给名为print的函数。您也可以在代码中留下注释来解释您正在做什么。注释可以从一行中的任何位置开始。

注释

Comments

# Single line comment (this has no effect on your program)
print("Hello World") # Say hello

代码片段:可切换语言,无法单独设置文字格式

输出

Hello World

字符串

String

字符串是非常通用的,允许程序处理文本信息。用引号括起来的字符串常量在程序中定义字符串值。有时,您可能希望在程序中定义大量的文字文本。这个文本可能由多行组成。三重引号允许多行文本。

print("""Print
Multiple
Lines
""")

代码片段:可切换语言,无法单独设置文字格式

输出

Print

Multiple

Lines

像许多语言一样,单引号(')和双引号(")可以互换来表示字面字符串常量。一般的惯例是双引号应该包含实际的文本,如单词或句子。单引号应该包含符号文本,比如错误代码。错误代码的一个例子可能是“HTTP404”。

然而,在Python中,单引号和双引号之间没有区别,您可以随意使用。下面的代码使用了单引号。

print('Hello World')

代码片段:可切换语言,无法单独设置文字格式

输出

Hello World

常量

constant

除了字符串,Python还允许在程序中使用数字作为文字常量。Python支持浮点数、整数、复数和其他类型的数字。本课程将不使用复数。与字符串不同,引号不包含数字。

小数点的存在区分了浮点数和整数。例如,42为整数。类似地,42.5是一个浮点数。如果您希望有一个没有小数部分的浮点数,您应该指定一个零小数。值42.0是一个浮点数,尽管它没有小数部分。例如,下面的代码打印两个数字。

print(42)
print(42.5)

输出

42

42.5

变量

Variables

到目前为止,我们只看到了如何定义文字数值和字符串值。这些文字的值是常量,不会在程序运行时改变。变量允许程序保存可以在程序运行时更改的值。变量的名称允许您引用它们的值。下面的代码将一个整数值赋给名为“a”的变量,将一个字符串赋给名为“b”的变量。

a = 10
b = "ten"
print(a)
print(b)

输出

10

ten

变量的关键特征是它们可以改变。下面的代码演示了如何更改变量所持有的值

a = 10
print(a)
a = a + 1
print(a)

输出

10

11

格式化输出

format

您可以混合使用字符串和变量进行打印。这种技术称为格式化或插值字符串变量必须在花括号内。在Python中,这种类型的字符串通常被称为f-string。f-string是通过在字符串开头的单引号或双引号前面加一个“f”来表示的。下面的代码演示了如何使用f-string将几个变量和一个字符串字面值混合在一起。

a = 10
print(f'The value of a is {a}')

输出

The value of a is 10

你也可以在数学中使用f字符串(称为表达式)。花括号可以包含任何用于打印的有效Python表达式。下面的代码演示了在f-string的花括号内使用表达式

a = 10
print(f'The value of a plus 5 is {a+5}')

输出

The value of a plus 5 is 15

Python有许多打印数字的方法;这些都是正确的。然而,在本课程中,我们将使用f-strings。下面的代码演示了在Python中打印数字的一些不同方法。

a = 5


print(f'a is {a}') # 本课程的首选方法。
print('a is {}'.format(a))
print('a is ' + str(a))
print('a is %d' % (a))

输出

a is 5

a is 5

a is 5

a is 5

if 分支语句

if

您可以使用if语句来执行逻辑。注意缩进! 这些if语句是Python定义要一起执行的代码块的方式。块通常在冒号之后开始,包括同一级缩进的任何行。

与许多其他编程语言不同,Python使用空格来定义代码块。空格对于程序代码的意义非常重要,这一事实经常让Python新手感到烦恼。制表符和空格符都用于定义Python程序中的作用域。不建议在同一个程序中混合使用空格和制表符。

a = 5
if a>5:
    print('变量a的值大于5')
else:
    print('变量a的值不大于5')

输出

变量a的值不大于5

下面的if语句有多个级别。很容易不恰当地缩进这些级别,所以要小心。这段代码在第一个"a==5" if-statement下面嵌套了一个if-statement。只有当a等于5时,嵌套的"b==6" if语句才会被执行。另外,“elif”命令并不意味着“else if”。

a = 5
b = 6


if a==5:
    print('变量a的值为5')
    if b==6:
        print('并且,变量b的值为6')
elif a==6:
    print('变量a的值为6')
    

输出

变量a的值为5

并且,变量b的值为6

还需要注意的是,double equal("==")操作符用于测试两个表达式的相等性。在Python中,单个equal("=")操作符只用于给变量赋值。大于(“>”),小于(“<”),大于或等于(“>=”),小于或等于(“<=”),所有的表现都是一般接受的。使用不等号("!=")操作符来测试是否为不等号。

循环语句

loop

在编程语言中,循环遍历一个数字范围是很常见的。Python通过使用范围操作来实现这一点。在这里,您可以看到一个for循环和一个range操作,该操作导致程序在1到9之间循环。

for x in range(1, 10):  # If you ever see xrange, you are in Python 2
    print(x)  
# If you ever see print x (no parenthesis), you are in Python 2

输出

1

2

3

4

5

6

7

8

9

这段代码说明了python2和python3之间的一些不兼容性。在Python 3之前,在print函数调用中不使用括号是可以接受的。在Python 3中,这种调用print命令的方法不再被允许。类似地,有时使用xrange命令代替range命令可以提高性能。Python 3将xrange Python 2命令的所有功能合并到普通range命令中。因此,程序员不应该在Python 3中使用xrange命令。如果您在示例代码中看到使用了这些结构中的任何一个,那么您看到的是一个较早的Python 2时代的示例。

range命令与循环一起使用,以传递特定范围的数字。在某些情况下,必须循环特定的数字范围,这是不常见的。通常,程序员在项的集合上使用循环,而不是将数值硬编码到代码中。集合,以及循环可以对它们执行的操作,将在本模块的后面介绍。

下面是循环打印字符串和数字的另一个例子。

acc = 0
for x in range(1, 10):
    acc += x
    print(f"Adding {x}, sum so far is {acc}")


print(f"Final sum: {acc}")

输出

Adding 1, sum so far is 1

Adding 2, sum so far is 3

Adding 3, sum so far is 6

Adding 4, sum so far is 10

Adding 5, sum so far is 15

Adding 6, sum so far is 21

Adding 7, sum so far is 28

Adding 8, sum so far is 36

Adding 9, sum so far is 45

Final sum: 45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值