未来是人工智能(AI)的时代,它是继蒸汽技术、电力技术、计算机及信息技术革命之后的第四次科技革命核心驱动力。2017 年,人类天才棋手柯洁迎战人工智能 AlphaGo(阿尔法狗),终以天才选手的失败而落幕,让人唏嘘不已的同时,也让人们深刻体会到人工智能的强大。人工智能 AlphaGo 强大的背后隐藏着的编程体系中,有很大一部分就是用 Python 编写的。因此,与其说是 AlphaGo 打败了柯洁,倒不如说是 Python 打败柯洁。 市面上Python入门的书不少,也不乏很多经典教材,本书含二维码,重点项目均配有讲解视频,不光在纸质上有知识点,学习者可以通过手机等移动装备扫码进行学习,排版简单大气,便于读者阅读,采用双色印刷,将知识点的难易很好地区分开来。
本书是一本针对零基础小白而编写的Python入门书,主要是为了让初学者夯实基础,建议与派森编程课程配套使用。内容主要包括Python基础知识、数据类型、if语句、for循环、while循环、函数的使用、面向对象编程基础、文件操作、异常处理和Python模块。
全书内容由浅入深,引导读者掌握Python基础,以知识点和案例代码贯穿全书,帮助读者从入门顺利进入项目实战的角色。
前言
未来是人工智能(AI)的时代。人工智能是继蒸汽技术、电力技术、计算机及信息技术革命之后的第四次科技革命核心驱动力。2017年,人类“天才”棋手柯洁迎战人工智能AlphaGo(阿尔法狗),终以“天才”选手的败阵而落幕,让人唏嘘不已的同时,也让人们深刻体会到人工智能的强大。人工智能AlphaGo强大的背后隐藏着的编程体系中,有很大一部分是用Python语言编写的。因此,与其说是人工智能AlphaGo打败了柯洁,倒不如说是Python打败了柯洁。
Python是什么?它是一种面向对象的、直译式的计算机程序设计语言,是人工智能(AI)的核心编程语言之一。目前,人工智能在制造、家居、金融、零售、交通、安防、医疗、物流、教育等行业中均有广泛的应用。我国对于AI人才的需求数量已经突破百万人,AI相关岗位的平均薪资更是水涨船高,均以每年近8%的速度在增长,市场对优秀AI人才的争夺日益明显。作为AI编程语言的首选——Python,这几年越来越受到人们的追捧。
根据新排名, Python语言已超越 C#语言,与 Java语言、 C语言一起成为全球前三的编程语言。作为一门编程语言,Python语言的语法简捷、清晰、易读,它被昵称为“胶水语言”,更被热爱它的程序员誉为“美丽的”编程语言。
相较于其他编程语言,Python语言在人工智能中的优势主要有以下几点。
◎ 更加人性化的设计——开源免费,而且学习简单。
◎ 总体的 AI 库——提供一个易于使用、有良好文档和测试的库。
◎ 机器学习库——简单而有效地针对机器学习任务的算法。
◎ 自然语言和文本处理库—— Python 具有丰富而强大的库。
近年,国务院发布的《新一代人工智能发展规划》明确提出:完善人工智能教育体系,在中小学阶段设置人工智能相关课程,逐步推广编程教育。而后,教育部考试中心发布全国计算机等级考试(NCRE)体系调整的通知中明确提出:新增“Python语言程序设计”科目(代码:66)。目前,已有部分省份将 Python 编程基础纳入信息技术课程和高考的内容体系,未来几年将会有越来越多的地区把编程科目纳入基础教育甚至高考中。这意味着:学习编程不再只是一个选择,而是将成为现代青少年成长过程中的一门必修课!
本书作为Python 的入门书籍,在编写上引用了大量日常生活中的例子,通过深入浅出的讲解、精练准确的示例,让零基础小白也能轻松掌握简单的 Python 项目代码。
另外,本书配套的Python环境以及开发工具的安装,具体信息可扫描下方的二维码关注公众号。想要了解更多的信息,还可以加入我们的在线课程,在互动交流的环境中,抓住操作关键,突破学习难点,提高Python开发技能!
高级软件工程师,曾在BAT公司和各大型互联网公司任职,有着多年软件开发经验。工作中使用 C++、Python、C、Java、JavaScript、Angular、Vue、Docker等开发技术。为千万客户提供软件服务及AI解决方案。现致力于Python相关技术(全栈开发,机器学习,自动化等)的研究与分享。
第1章 Python基础知识 1
1.1 计算机组成原理 1
1.2 认识Python 3
1.3 第一个Python程序 8
1.4 注释 10
1.5 变量以及类型 12
1.6 标识符和关键字 13
1.7 输出 15
1.8 输入 18
第2章 判断语句和循环语句 20
2.1 运算符 20
2.2 数据类型转换 21
2.3 判断语句介绍 23
2.4 if语句 23
2.5 比较(关系)运算符 25
2.6 ifelse 26
2.7 elif 28
2.8 if嵌套 29
2.9 if应用:猜拳游戏 31
2.10 循环语句介绍 32
2.11 while循环 33
2.12 while循环应用 34
2.13 while循环的嵌套以及应用 35
2.14 for循环 36
2.15 break和continue 38
第3章 字符串、列表、元组、字典 43
3.1 字符串介绍 43
3.2 字符串输出 43
3.3 字符串输入 44
3.4 下标和切片 44
3.5 字符串常见操作 48
3.6 列表介绍 56
3.7 列表的循环遍历 57
3.8 列表的常见操作 58
3.9 列表的嵌套 64
3.10 元组 65
3.11 字典介绍 67
3.12 字典的常见操作1 68
3.13 字典的常见操作2 71
3.14 字典的遍历 72
第4章 集合 75
4.1 建立集合的两种方式 75
4.2 集合的操作 76
4.3 适用集合的方法 80
第5章 函数(一) 87
5.1 函数定义和调用 87
5.2 函数的文档说明 88
5.3 函数参数(一) 88
5.4 函数返回值(一) 90
5.5 4种函数的类型 91
5.6 函数的嵌套调用 93
5.7 函数应用:打印图形和数学计算 94
第6章 函数(二) 96
6.1 局部变量 96
6.2 全局变量 96
6.3 多函数程序的基本使用流程 98
6.4 函数返回值(二) 100
6.5 函数参数(二) 102
6.6 引用(一) 104
6.7 可变、不可变类型 106
6.8 引用(二) 106
6.9 函数使用注意事项 107
6.10 函数应用:技能商店系统 109
第7章 面向对象基础(一) 112
7.1 面向对象编程介绍 112
7.2 类和对象 115
7.3 定义类 119
7.4 创建对象 120
7.5 添加和获取对象的属性 121
7.6 实例方法内通过self获取
对象属性 122
7.7 魔法方法:_??_init_??_()方法 123
7.8 有参数的_??_init_??_()方法 125
7.9 魔法方法:_??_str_??_()方法 126
7.10 _??_del_??_()方法 128
7.11 参考案例:烤地瓜 129
第8章 面向对象基础(二) 134
8.1 继承的概念 134
8.2 单继承 135
8.3 多继承 136
8.4 子类重写父类的同名属性和方法 137
8.5 多层继承 138
第9章 面向对象基础(三) 140
9.1 类属性和实例属性 140
9.2 类方法和静态方法 141
9.3 _??_new_??_方法 143
第10章 文件操作及综合应用 145
10.1 文件操作 145
10.2 文件的打开与关闭 145
10.3 文件的读/写 147
10.4 应用:制作文件的备份 149
10.5 文件、文件夹的相关操作 150
10.6 综合应用:图书管理系统 152
第11章 异常、模块 155
11.1 异常概述 155
11.2 捕获异常 155
11.3 异常的传递 159
11.4 抛出自定义的异常 162
11.5 异常处理中抛出异常 163
11.6 模块介绍 164
11.7 模块制作 166
第12章 实战项目演练 169
12.1 歹徒困境 169
12.2 猜拳游戏 171
12.3 绩效管理系统 174
12.4 信息采集器 178
12.5 动态二维码 183