在程序设计过程中,我们往往会根据用途而使用不同形式的数据,比如描述某人的相关信息,这会涉及到其姓名、性别、出生年月、身高、体重等各种数据信息。这些数据信息的表示形式也是有区别,有的是数字、有的是字母汉字。这里我们将这些数据的不同表示形式在程序中称为数据类型。基于此,这篇文章将重点介绍Python中常见的两类基本数据类型:数字类型和字符串。
数字类型
表示数字或数值的数据类型称为数字类型。Python语言提供整型(int)、浮点数(float)和复数(complex)这三种数字类型。
整型(int)
整型是整数类型的简称,本质上就是数学中的整数,即正整数、负整数和0。与其它编程语言(C、C++、Java等)不同,Python语言中的整型不再区分长整型、短整型,即不再有大小限制。一个整数值有二进制、八进制、十进制和十六进制等表示形式,其具体形式见下表。
进制种类 | 前缀 | 描述 | 例子 |
---|---|---|---|
二进制 | 0b或0B | 由0和1组成 | 0b1001、0B11 |
八进制 | 0o或0O | 由0~7组成 | 0o5、0o20 |
十进制 | 无 | 由0~9组成 | 5、16、20、19 |
十六进制 | 0x或0X | 由0~9,a-f(或A-F)表示10 ~15 | 0x5、0x1F |
注意:不同进制的整数之间可以直接运算或比较,运算结果都会以十进制方式显示。例如:
>>> 0b11 + 12
15
>>> 0xaf + 20
195
>>> 0x8f + 0o15
156
浮点数(float)
浮点数类型为带小数点的数字,即数学中的小数,可正可负,与整数一样,没有取值范围。相对于整数的多种表达形式,浮点数只有十进制表达形式。在编程中,除了常规的小数点表示形式,还可采用科学计数法表示(用字母e或E表示以10为底的指数,e之前为小数部分,e之后为指数部分,指数部分必须为整数。)。例如
// 浮点数12.34的表示形式
12.34 # 常规表示形式
1.234e1 # 科学计数法表示形式
复数(complex)
复数类型就是用来表示数学中的复数,只是将数学中的复数表示形式中虚数单位 “i” 换成 “j”。例如
3 + 5j
2j
注意:一个复数必须有表示虚部的浮点数和j,复数的实数部分和虚数部分的数据类型为浮点数(虽然有些数据在数学上是整数,但在python中其数据类型为浮点数)。例如:
>>> x = 3+2j
>>> x.real
3.0
>>> x.imag
2.0
>>> type(x.real)
<class 'float'>
>>> type(x.imag)
<class 'float'>
布尔型(bool)
布尔型是计算机中最基本的类型,属于一种特殊的整型,用来表示逻辑条件的真和假。Python语言中,布尔类型只有两种值:True和False。规定:0、空字符串和None为False,其它数值和非空字符串为True。例如:
>>> bool()
False
>>> bool( )
False
>>> bool(0)
False
>>> bool(123)
True
>>> bool(3+4j)
True
>>> bool(12.85)
True
字符串(str)
字符串可以理解为文本信息,比如姓名、英文单词、一句诗等,都可以视为字符串。在python语言中,可以用一对单引号、双引号或者三引号来定义一个字符串,不过需注意这些引号要成对出现。三引号通常用于多行字符串中,比如一首诗歌或一篇文章。例如:
>>> 'Python'
'Python'
>>> "hello world"
'hello world'
>>> '''天行健,君子以自强不息。地势坤,君子以厚德载物。'''
'天行健,君子以自强不息。地势坤,君子以厚德载物。'
Python还提供一些特殊字符串,比如换行、回车等,这些字符通常用一个转义标识符“\”加字母的形式来表示,称为转义字符,具体见下表。
转义字符 | 含义 | 转义字符 | 含义 |
---|---|---|---|
\ | 续行符(一般在行尾) | \ b | 退格 |
\ \ | 反斜杆符号 | \ n | 换行符 |
\ ’ | 单引号 | \ v | 纵向制表符 |
\ " | 双引号 | \ t | 横向制表符 |
\ a | 响铃 | \ r | 回车 |
\ f | 换页 | \ 0 | 空字符 |
转义字符的用法案例:
>>> print("天行健,\n君子以自强不息。\n地势坤,\n君子以厚德载物。")
天行健,
君子以自强不息。
地势坤,
君子以厚德载物。
>>> path = "C:\\Program Files\\WinRAR"
>>> print(path)
C:\Program Files\WinRAR
>>>
注意:字符串是不可修改的类型。
数据类型查看与转换
在程序设计中,有时需要知道某些数据类型后才能进行下一步操作,此时可以通过type()函数来获取已知变量的数据类型。例如:
>>> Num = 15
>>> Hobby = "running"
>>> type(Num)
<class 'int'>
>>> type(Hobby)
<class 'str'>
除了查看变量的数据类型之外,我们有时还需将这种类型的数据转换成所需要的数据类型,比如字符串类型转换成数字型,这会涉及到数据类型的转换。在Python语言中,常用的基本数据类型转换函数可见下表:
函数 | 含义 |
---|---|
int(x) | 将数据x转换成整数,若x为浮点数,则舍去小数部分,取整数; 若为字符串,则需要字符串是由正负号和0~9的数字组成 |
float(x) | 将数据x转换成浮点数。若x为整数,则只需在其后面添加小数点.和0即可; 若为字符串,则需要字符串是由正负号、数字0~9以及小数点组成 |
complex(re [,im]) | 转换为复数。re表示实部,im表示虚部 |
str(x) | 将x转换成字符串 |
注意:int( )对小数进行取整时,只是舍去小数部分取整数,并不会存在四舍五入;若想要四舍五入,可推荐使用round()函数。