2.3. 程序设计基础知识 
 ——— 数据类型、常量、变量及表达式 
的由来 
Python 的创始人:荷兰 Guido van Rossum。 
1989 年圣诞节期间,在阿姆斯特丹,Guido 为了打发圣诞节的无趣,开发了一个新的程序语言 Python。Guido 将 Python(大蟒蛇)作为该编程语言的名字,是取自英国 20 世纪 70 年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python’s Flying Circus),因此 Python 语言的 logo 是一条蟒蛇。 
粉丝 
自主学习 
阿里云 AI 开放平台 
阿里云 AI (https://ai.aliyun.com) 致力于构建最全面、最开放、最前沿的AI开放平台,阿里云推出 AI 产品,包括语音识别,还有图像识别、视觉识别等 130 多款细分产品,适用于 300 多个场景。 
以语音合成为例,阿里云 AI 的语音合成 Python SDK 提供了如下接口: 
 SpeechSynthesizer,设置语音合成请求参数,发送语音合成请求。 
 SpeechSynthesizerCallback,用于获取语音合成结果。 
用 Python 开发的著名项目 
豆瓣网 (douban) 是一个社区网站,提供关于书籍、电影、音乐等作品的信息,还提供书影音推荐、线下同城活动、小组话题交流等多种服务功能。豆瓣网已经达拥有 300 万注册用户,访问量每天则超过两千万,是一个应用 Python 开发的非常成功的 Web 2.0 站点。 
豆瓣网 
Face Recognition 
Face Recognition 是一个基于 Python 的人脸识别库,它还提供了一个命令行工具,让你通过命令行对任意文件夹中的图像进行人脸识别操作。该库使用顶尖的深度学习人脸识别技术构建,在脸部检测数据库上的检测准确率高达 99.38%。Face Recognition 的最基本功能是从图像中识别人脸,如下图所示。 
Python人工智能和数据科学领域最受欢迎的编程语言。 
体验绘制“红黄绿”信号灯 
import turtle 
import time 
light = turtle.Turtle() 
light.hideturtle() 
light.screen.delay(0) 
light.penup() 
light.goto(-45,90) 
light.color("black", "black") 
light.begin_fill() 
light.pendown() 
for x in range(2): 
 light.forward(90) 
 light.right(90) 
 light.forward(200) 
 light.right(90) 
 light.forward(90) 
 light.end_fill() 
 light.penup() 
light.goto(0,30) 
light.pendown() 
light.color("red", "red") 
light.begin_fill() 
light.circle(20) 
light.end_fill() 
light.penup() 
尝试编写:在红灯的下方绘制黄灯和绿灯 
Goto(x,y) 
学习目标 
掌握Python语言的基本数据类型,理解常量、变量,能正确书写表达式。 
能读懂简单的程序代码,根据具体问题改写和完善代码,感受计算机编程的魅力。 
体验用Python编程的基本过程,提高用计算机解决问题的能力。 
自主学习: 
数据类型 
常量 
变量 
运算符与表达式 
 Python语言常见的数据类型有以下几种: 
{69CF1AB2-1976-4502-BF36-3FF5EA218861}数据类型 
类型标识符 
类型说明及示例 
整型 
Int 
Python中的整数理论上可以任意大 
如:-99、666、220721158884874162 
浮点型 
float 
表示小数,如3.14、0.0008、2.36E+6(2.36*106) 
字符串型 
Str 
通常是用一对单引号或双引号括起来的一串字符,如: 
‘hello’ 、“China” 、“300451” 
布尔型 
Bool 
用于逻辑判断,只有Ture 和 False 
列表 
list 
用来存放一组数据的序列,列表中所有的元素放在 [] 中间,并用逗号分开,例如: [1, 2, 3], [‘a’, ‘b’, ‘c’] 
 强制转换数据类型 
在程序设计中,可以通过强制类型转换操作,把某个数据从一种数据类型转换成为另一种数据类型。 
{69CF1AB2-1976-4502-BF36-3FF5EA218861}数据类型转换函数 
功能说明 
float(x) 
将x转换为一个浮点型数据 
int(x) 
将x转换为一个整型数据 
Str(x) 
将x转换为字符串型数据 
x=123456 
y=float(x) 
print("对比区别") 
print("输出x的值:",x,"输出y的值:",y) 
a=999.99 
b=int(a) 
print("对比区别") 
print("输出a的值:",a,"输出b的值:",b) 
体验交流: 
每组选派一人说出结果后上机体验,验证结果。 
 常量与变量 
① 常量:常量指程序运行过程中,其值不能改变的量,例如1024、"red"等。 
② 变量:变量指程序运行过程中,其值可以改变的量。变量是 Python 程序用来保存计算结果的存储单元,为了方便访问这块存储单元,Python 给这块存储单元命名,该名称即为变量名。 
 Python语言中,变量命名规则: 
① 变量名可以包括字母、汉字、数字和下划线(_),但不能以数字开头。 
 例如:name2是合法变量名,而2name是非法变量名。 
② 变量名区分大小写。 
 例如:myname和 Myname是不同的变量。 
③ 为了便于理解,变量名应具有一定含义,即“见名知意”。 
④ 不能用系统关键字作为变量名。系统关键字是程序设计语言中保留下来的用于特殊用途的标识符,每个关键字都有特殊的含义。 
 例如:for、in、if、continue、 break、else、and、not和or等。 
 赋值格式为: 
变量名 = 表达式 
注意: Python语言中的变量必须在使用前被赋值,不能使用未被赋值的变量。在使用过程中,变量还能够被重新赋值。 
 运算符与表达式 
 常用的运算符有以下几种: 
A 
算术 
运算符 
B 
关系 
运算符 
C 
逻辑 
运算符 
 运算符与表达式 
① 算术运算符:主要进行算术运算,运算的结果为整型或浮点型。 
 关系运算符: 
主要用于比较两个值的大小,运算的结果为布尔值True或 False。 
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}关系运算符 
描述 
用法 
举例 
== 
等于 
a==b 
3==5 结果为False 
> 
大于 
a>b 
3>5 结果为False 
< 
小于 
a3<5 结果为True 
>= 
大于或等于 
a>=b 
3>=5 结果为False 
<= 
小于或等于 
a<=b 
3<=5 结果为True 
!= 
不等于 
a!=b 
3!=5 结果为True 
 运算符与表达式 
③ 逻辑运算符:可以对关系式或布尔值进行逻辑运算,运算结果仍为布尔值True或 False。 
{69CF1AB2-1976-4502-BF36-3FF5EA218861}逻辑运算符 
描述 
用法 
举例 
not 
非 
not a 
not(2==3)的结果为true 
and 
与 
a and b 
只有当两个操作数都为true时,其结果才为True,如(2<3)and(2>1)的结果为true 
or 
或 
a or b 
只要有一个操作数结果为true,其结果就为true,如(2<3)or(1>2)结果为true 
 
① 优先级高的先运算,优先级相同的从左向右算。 
② “( )” 的运算级别最高。 
③ 运算符的优先级为:算术运算符 > 关系运算符 > 逻辑运算符。 
④ 在同类运算符中也要注意不同的优先级。 
 例如,逻辑运算符not、and和or的优先级为:not>and>or。 
运算顺序: 
2. 程序的运行结果是? 
a=2 
b=3 
c=aprint(((a+b)/(b-a)**a)and c) 
巩固提升: 
下面的运算符中,优先级最低的运算符是( ) 
 A. * B.!= C. + D. =