计算机不仅能处理数字之间的运算,也能对文本、图片、音频、视频等数据进行处理。在程序中,每个数据都有自己的数据类型。Python 的数据类型有 int(整数)、float(浮点数)、字符串、布尔值、None、列表、元组、字典、集合等。

  • 下面介绍几种基本数据类型。

💡 int - 整数

即数学意义上的整数,可以是正整数或负整数,不带小数点。

💡 float - 浮点数

浮点数就是小数。所谓浮点,指的是小数的表示形式多变,3.14 可以表示为 0.314 x 10,小数点可以改变位置,故称为浮点数。

在计算机中,整数、浮点数字、字符串等所有的数据,都会被转换为二进制数值进行处理,处理完成后再转换为你想要的信息。转换的过程中可能就会出现精度的丢失,试试在 Python 命令行中输出 1.1 + 2.2 ,猜猜结果是多少?

图片描述

结果并不是 3.3,而是 3.3000000000000003

💡 布尔值

布尔值只有 TrueFalse 两种,注意大小写。布尔值通常用来比较和判断,举例如下:

图片描述

💡 空值 None

None 在 Python 中是一个特殊的值,表示“无”。注意它与数值 0 不同,0 是一个整数,而 表示什么都没有。

变量

我们再来学习一个很重要的概念 —— 「变量」。你可以将它理解为一个盒子 —— 把常用的数据放在里面,起一个好记的名字,下次用到时可以快速找到它。

比如说在游戏中,你会频繁用到 「血量(HP)、攻击力、防御力」等数据,这些数据需要用名字储存起来。

图片描述

定义这些变量的代码如下:

1
2
3
Level = 1
ATK = 5
HP = 100

左边是「变量名」

右边是「数据」

而等号在 Python 里的意思是「赋值符」,代表把右边的数据赋值给左边。

图片描述

其实,早在小学的数学课上,你就开始使用 变量 的概念了。比如「鸡兔同笼」问题中,你可以“设鸡的数量为 x,兔子的数量为 y ”, x、y 就是变量:

x = 鸡的数量

y = 兔子的数量

则:

x + y = 头数

2x + 4y = 脚数

变量中的数据,除了可以是整数,还可以是一段文字,比如:

1
2
word = 'Hello World!'
print(word)

试一下上面的代码,看看会打印出什么结果。

变量的右边,甚至可以是另一个变量,如:

1
2
word2 = word
print(word2)

上面这段代码的意思是把「word」中的数据,赋值给「word2」这一变量。

亲手操作一下试试:

图片描述

🔥 小练习:把 「实小楼」 存入名为的「name」的变量中,并打印出来。

💡 提示:「实小楼」是字符串,需要加引号

字符串

任何一本编程书籍之中,字符串的内容总是很长。这是因为:处理字符串是计算机程序中最普遍的需求之一 ,人和计算机交互,所用的就是字符串而不是二进制数字。

引号 包裹起来的数据就是字符串。计算机无法识别人类的文字,所以引号的作用就是告诉计算机:我是字符串,不用管里面是什么内容。

包裹字符串的引号必须前后对应,成对出现。如果字符串中还有引号,要特别注意,如 He said "Today's weather is good.",直接写 print('He said "Today's weather is good."') 就会报错。因为:

图片描述

正确的写法是,在 Today 后面加入转义符 \

图片描述

亲手在终端中试一下:

图片描述

转义符 \ 还有一个常用形式是和 n 连起来用,\n 代表换行符,就是用 Enter(回车)键敲出来的东西。

图片描述

💡 索引

字符串是一堆字符的集合,可以通过位置编号,来获得对应的字符。如 'hello_shiyanlou',编号 0 对应第一个字符 h,1 对应第二个字符 e,依次类推。这个位置的编号,我们称之为:索引

这里你又学到了计算机世界的一大概念:

在计算机世界中,计数从 0 开始。

在计算机世界中,计数从 0 开始。

在计算机世界中,计数从 0 开始。

索引除了是正数,也可以是 负值,表示倒数第几个。比如最后一个字符的索引为 -1,倒数第二个字符的索引为 -2。

简单的示例:

1
2
3
4
5
6
7
8
9
10
11
>>> string = 'hello_shiyanlou'
>>> string[0] # 获取第一个字符
'h'
>>> string[1] # 获取第二个字符
'e'
>>> string[2]
'l'
>>> string[-1] # 获取倒数第一个字符
'u'
>>> string[-2] # 获取倒数第二个字符
'o'

💡format()

format() 是专门用来 格式化字符串 的函数,它最常用的功能就是「插入数据」和「数字格式化」。

插入数据:

先看下面的代码,相信现在的你已经能看懂是什么意思了。我们让用户输入姓名和年龄,并用 name 和 age 变量接收数据。

1
2
name = input('请输入姓名:')
age = input('请输入年龄')

现在我想打印 “你叫 xxx,今年 x 岁了”,代码该怎么写?

有两种写法:

1
print('你叫'+name+',今年' + age + '岁了')

这种方法用 + 号串联打印的内容,虽然可行,但是比较麻烦,而且有局限性。

这时,你可以使用 format() 函数,实现插入效果,用法如下:

1
print('你叫{},今年{}岁了'.format(name,age))

{} 为占位符,我先把这个位置占住,具体数据在后面导入。

下图可以让你有更好的理解:

图片描述

数字格式化:

format() 的第二种常用功能,是格式化数字,比如我们要输出圆周率,但只保留两位小数,可以这么写:

1
print("{:.2f}".format(3.1415926))

如果要保留三位,则改成 {:.3f};不带小数,则改成 {:.0f},依次类推。

format()功能还有很多,我们之后用到时在做学习。

💡 注释

注释,可理解为程序的注解、提示,用来帮助他人和自己阅读、理解、编写代码。python 中,# 常被用作写单行注释,# 号后的内容会被忽略,不会被当作代码处理。

如:

1
2
3
# 注释可以写在开头:下面要打印 “hello shiyanlou”
print("hello shiyanlou")
print("hello world") # 注释也可以写在后面:这里打印 “hello world”

注释 对程序员来说非常重要,甚至直接决定了你的寿命……写注释可以帮你理清思路,提高程序的可维护性;如果没有注释,你会连自己的代码都看不懂,而且极可能会被同事、上司打死……

另外,如果有一些代码暂时不需要被执行,可以先不要删掉它(因为后面可能还会使用),而是使用 # 将其注释掉。这样代码就暂时不会被执行了,之后再需要这段代码时,删掉 # 就好了。

运算符

运算,是计算机最基本的功能,我们先来学习一下运算符。

运算符用于执行程序的运算,我们这里先学习最简单的几种:「算术运算符」、「比较运算符」、「赋值运算符」、「逻辑运算符」。

不要被这些名词吓到,其实大多都是些你小学就学过的概念……

💡 算术运算符

即小学数学中的运算符,最常用的还是「加减乘除余」这五种:

运算符 名称 描述
+ 两个对象相加
- 得到负数或是一个数减去另一个数
* 两个数相乘或是返回一个被重复若干次的字符串
/ x 除以 y
% 取模 返回除法的余数
** 返回 x 的 y 次幂
// 取整除 返回商的整数部分(向下取整)

🔥 练习一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> a = 12
>>> b = 3
>>> c = 5
>>> a + b
15
>>> a - b
9
>>> a * b
36
>>> a / b
4.0
>>> a / c
2.4
>>> a % c
2

💡 比较运算符

比较运算符 就是小学课本中的「大于、小于、等于……」,通常用于程序执行 循环和判断 中:

运算符 描述
== 等于:比较对象是否相等
!= 不等于:比较两个对象是否不相等
> 大于:返回 x 是否大于 y
< 小于:返回 x 是否小于 y
>= 大于等于:返回 x 是否大于等于 y
<= 小于等于:返回 x 是否小于等于 y

⚠️ 注意: 在 Python 和大多数高级语言中:一个等号代表赋值符,两个等号才代表数学意义上的“相等”。

🔥 练习一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> a = 1
>>> b = 2
>>> c = 3
>>> d = 2
>>> a == b
False
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> c >= d
True
>>> b <= c
True

💡 赋值运算符

赋值运算符 主要是为了简写,如果看不懂可以先跳过,在以后的项目中会更容易理解。

运算符 描述 实例
= 赋值运算符 c = a + b :将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a :等效于 c = c + a
-= 减法赋值运算符 c -= a :等效于 c = c - a
*= 乘法赋值运算符 c *= a :等效于 c = c * a
/= 除法赋值运算符 c /= a :等效于 c = c / a
%= 取模赋值运算符 c %= a :等效于 c = c % a
**= 幂赋值运算符 c **= a :等效于 c = c ** a
//= 取整除赋值运算符 c //= a :等效于 c = c // a

🔥 练习一下:

1
2
3
4
5
6
7
8
9
10
11
12
>>> a = 3
>>> b = 12
>>> c = 10
>>> c += a
>>> print(c)
13
>>> b -= a
>>> b
9
>>> c *= 5
>>> c
65

💡 逻辑运算符

如果计算机只有计算功能,那它顶多是一个计算器;而我们今天使用的计算机之所以智能、可编程,最重要的原因是:它能够进行 逻辑处理

逻辑运算符,即高中数学中的「 且、或、非 」,Python 中用 andornot 表示这三种逻辑。

运算符 逻辑表达式 结果
and(逻辑与) a and b 当 a、b 都为 True 时,返回 True;否则返回 False
or(逻辑或) a or b 当 a、b 任意一个为 True,就返回 True
not(逻辑非) not a 当 a 为 True 时,返回 False;反之亦然

🔥 练习一下:

⚠️ 补充:在逻辑运算中,数字 0 代表 False,1 代表 True。

1
2
3
4
5
6
7
8
9
10
>>> not 1
False
>>> not 0
True
>>> 1 and 1
1
>>> 1 and 0
0
>>> 1 or 0
1

小结:

img