给女朋友的 Python 教程——在交互环境中试一试
date
Apr 19, 2024
slug
A-Python-tutorial-for-girlfriend-004-haveatry
status
Published
tags
Python
summary
type
Post
经过前面三部分的介绍,现在应该以及安装好了 Python 交互环境、VS Code 编辑器,也粗略看了下 Python 程序长什么样子。这部分我们会进入 IPython 的交互环境,在其中试一试数字、字符串等数据类型的操作和运算。
在此约定,先在
PowerShell
中进入交互环境,现在都是在这个环境下的输入输出,类似 In [*]
为输入行,Out[*]
为执行后的输出行。数字
算术运算
Python 解释器像一个简单的计算器:你可以输入数字的表达式,它将给出结果值。 表达式语法很直观:运算符
+
, -
, *
和 /
可被用来执行算术运算;圆括号 (()
) 可被用来进行分组。 例如:三种数字类型
Python 中三种数字类型:
int
, float
和 complex
,上面整数(如,1995、 1985 )的类型是 int
,带小数(如,-191.5 )的类型是 float
,类型complex
是复数,后缀 j
或 J
用于表示虚数,不过复数我们基本不会使用,了解即可,例如:除法相关
数字除法运算 (
/
) 总是返回浮点数,即使正好可以整除;还有一种除法是 floor division (地板除),使用 // 运算符得到一个整数结果,结果是小于或等于商的最小整数;要计算余数你可以使用 %,例如:幂运算
Python 使用 ** 运算符来执行幂运算:
数字比较
我们可是轻松比较数字的大小,Python 中有
<
, >
, <=
, >=
, ==
, !=
比较运算符,运算的结果只有两种 True
或 False
,这两个结果是布尔(bool)类型,布尔类型只有这两个常量。注意,Python 中相等的运算符是
==
,不能用 =
, =
用来给给变量赋值,用它来比较数字会引起语法错误:当
int
类型的整数和float
类型的浮点数比较时,Python 会自动将整数转换成浮点数,再进行比较:文本
数字运算让 Python 看起来就是一台计算器,和我们读书时候用的卡西欧似乎没有太大的不同,不过它不只能处理数学运算,还能够操作文本,文本也是字符串,英语中为
string
,字符串的类型是str
。文本标示
在 Python 中用成对的单引号 (
'...'
) 或双引号 ("..."
) 来标示文本,用如果前后分别是三个单引号('''...'''
)或双引号 ("""..."""
) ,可以表示多行文本:单引号内允许嵌入双引号,同样,双引号内也允许嵌入双引号,如果是文本里引号本身,我们需要将文本里的引号用转义字符
\
转义:转义
观察下面的字符串,很奇怪,这里的
\n
是什么,我们用 print
函数,来打印这段字符串,看一看会发生什么:可以看到,
\n
会开始新行,在这里 \n
表示换行符,类似这种转义字符为在字符串中表示无法输入或看不见的字符,比如键盘上的 Backspace
键,可以删除后面的一个字符,在这里就要用到转义字符 \b
,下面的 '3'
就被删掉了:甚至可以用
\a
来让电脑发出声音:完整的转义序列表如下,自己试一试吧:
转义序列 | 含意 | 备注 |
\\ | 反斜杠( \ ) | ㅤ |
\' | 单引号( ' ) | ㅤ |
\" | 双引号( " ) | ㅤ |
\a | ASCII 响铃(BEL) | ㅤ |
\b | ASCII 退格符(BS) | ㅤ |
\f | ASCII 换页符(FF) | ㅤ |
\n | ASCII 换行符(LF) | ㅤ |
\r | ASCII 回车符(CR) | ㅤ |
\t | ASCII 水平制表符(TAB) | ㅤ |
\v | ASCII 垂直制表符(VT) | ㅤ |
\ ooo | 八进制数 ooo 字符 | ㅤ |
\x hh | 十六进制数 hh 字符 | ㅤ |
字符串的 +
和 *
在数字中,
+
和 *
分别是加和乘,在字符串中使用它们,有了新的含义,两个字符串 +
,相当于合并(粘到一起), *
相当于重复,甚至可以用()
将它们联合起来使用,这种现象叫做运算符重载:总结
简单介绍数字和文本字面量的概念和运算。
作业
- 探索 Python 交互环境:
- 打开命令行界面(
PowerShell
),输入ipython
进入交互环境,在其中试一试本节讲述的知识 - Python 提供了
type()
函数,返回参数的类型,用它来看一看数字和文本的类型都是什么