likes
comments
collection
share

Python 教程 - 基本数据类型和类型转换

作者站长头像
站长
· 阅读数 21

Python 的数据类型主要分为以下三种:

  1. 数值类型: int , float , bool

  2. 字符串类型: str

  3. 容器类型: list ,  dict , tuple

数值数据类型

整数

我们在前一篇变量介绍的部分中,曾经声明过一个变量 x ,并且让 x = 1 , x 就是一个整数( integer)。如果要获取变量的数据类型,可以使用 type() 这个函数来查询。下面来试着打印出 x 这个变量以及 x 所属于的数据类型:

x = 1
print(x)
print(type(x))

执行结果如下:

Python 教程 - 基本数据类型和类型转换

打印出 type(x) 会得到 x 的类型 int ,表示 x 是一个整数。

浮点数

上面 x = 1 中 x 是一个整数,如果改写成 x = 1.5 ,此时 x 就不是整数了,而是浮点数。

x = 1.5
print(x)
print(type(x))

你也可以自己试试看把 x 设成 3.14 或是 1.732 ,会发现到它们的数据类型都是 float

布尔值

在 Python 布尔类型只有两种取值 : True 还有 False ,下面我们来写一个示例:

a = True
print(a)
print(type(a))

运行上面的代码后,执行结果如下:

Python 教程 - 基本数据类型和类型转换

打印出 type(a)后 ,会看到 'bool' ,表示 a 的数据类型是 bool ,也就是布尔类型。你也可以试着把 a = True 改成 a = False ,所打印出的 type(a) 也会相同,因为他们都是布尔值。

布尔值通常是一个条件判断的结果,示例如下 :

a = 1
b = 2
print(a==b)

其中 a==b 是一个比较运算,会返回 a 是否等于 b。因为 a 的值是 1、b 的值是 2,所以 a 不会等于 b。 a==b 的结果就是 False

Python 教程 - 基本数据类型和类型转换

字符串类型

字符串是以单引号 ( ' )或双引号( " )所包起来的 文本 ,由一连串 Unicode 字符所组成。例如:

song = "Hello, Goodbye"
print(song)
print(type(song))

执行的结果如下:

Python 教程 - 基本数据类型和类型转换

没有规定一定使用单引号或是双引号来定义字符串,但如果字符串中本身就包含单引号或是双引号,就可以使用另一种引号以做区分。

比如想要打印出这个字符串:"Bohemian Rhapsody" is a song by the British rock band Queen.

print(""Bohemian Rhapsody" is a song by the British rock band Queen.")

Python 教程 - 基本数据类型和类型转换

其中 "Bohemian Rhapsody" 这部分使用 " 括起来,会使 Python 认为要打印出的字符串为 ""(空字符串)、以及 " is a song by the British rock band Queen." ,因而出现错误。

此时比较好的做法就是改用单引号来表示字符串。

print('"Bohemian Rhapsody" is a song by the British rock band Queen.')

Python 教程 - 基本数据类型和类型转换

改成这样就会打印出想要的结果了

字符串的运算

字符串处理是 Python 的强项之一。 在 Python 中,支持许多字符串的运算方式。以下介绍四种很常见的功能:

字符串相加

+ 这个运算符号能够将两个字符串连接起来,例如:

str1 = "Lucy in the sky"
str2 = " with diamonds"
print(str1 + str2)

运算的结果如下:

Python 教程 - 基本数据类型和类型转换

重复打印出字符串

利用 * 可以重复字符串的内容。前面在讲 print 时有提到这个功能。只需要输入字符串与 * 再加上想要重复打印出的字符串即可。例如:

str = "bug "
print(str*3)

执行的结果:

Python 教程 - 基本数据类型和类型转换

计算字符串长度

利用 len() 这个函数会返回字符串的长度,例如:

str = "Python"
print(str)
print(len(str))

执行的结果会如下,len() 返回了6,代表字符串 str 中总共有六个字符。

Python 教程 - 基本数据类型和类型转换

取出部分字符串

利用中括号 [] 可以取出字符串的部份内容。 跟生活中我们在数数字时从 1 开始数不同,字符串的索引值(index)是从 0 开始的, str[4] 代表要取出 str 字符串里面的 第 5 个字符 "o"

str = "Python"
str[4]

Python 教程 - 基本数据类型和类型转换

如果想要取出某一个范围的字符串时,就在括号中设定开始与结束的位置,也就是左边界与右边界。

值得注意的是,字符串只会取到所设定结束位置的前一个字符,并不会包含右边界的本身。所以 str[1:4] 就是从 str 字符串中的第二个字符取到第四个字符,不会包含 str[4] 本身。

str = "Python"
str[1:4]
str[4]

Python 教程 - 基本数据类型和类型转换

可以看到, str[1:4] 是取第二到第四个字符,也就是 index 1~3 所代表的字符,并不会包含到 str[4] 这个字符。

类型转换

我们可以将一个值从一种类型转变为另外一种类型,这样的过程就叫做类型转换。

如果想要将一个类型为浮点数的值转变为整数的数据类型,我们会使用 int() 这个函数来作转换。 以下是将 float 转成 int 的结果:

floatNum = 55.0
intNum = int(floatNum)
print(floatNum)
print(intNum)
print(type(floatNum))
print(type(intNum))

Python 教程 - 基本数据类型和类型转换

而如果是想要将一个字符串转为整数呢?

stringNum = "55"
intNum = int(stringNum)
print(stringNum)
print(intNum)
print(type(stringNum))
print(type(intNum))

Python 教程 - 基本数据类型和类型转换

如果是想要将 55.55 转换成整数呢?可以自己尝试在 Jupyter Notebook 上转换看看。 转换成整数过后,小数点会直接被舍去掉,变成 55

如果要转换其它数据类型,可以试试 str()float()chr() 这些函数,会将原本的值分别转换为字符串、浮点数以及字符。

值得注意的是,如果本来的值就无法这样转换 (例如想要把字符串转换成整数),就会出现 Value Error。

Python 教程 - 基本数据类型和类型转换

现在我们学会了 Python 中的数值、字符串与字符的数据类型,以及不同类型之间的转换方式,下一篇将会介绍程序语言很重要的精髓之一,条件判断,可以让你的程序根据不同的状况来执行不同结果。