Python 程序设计讲义(12):Python 的基本数据类型——数据类型转换

Python 提供了相关的内置函数,可以对不同的数据类型进行转换。

一、数据类型的判断

使用内置函数 type() 可以对任何的数据类型进行判断。

例如:

a=5
b=0xa1
c=5.0
d='hello world'
e=[0,1]
f=(0,1)
g={0,1}
h={1:'tom',2:'jack'}
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(f))
print(type(g))
print(type(h))

运行结果为:
<class 'int'>
<class 'int'>
<class 'float'>
<class 'str'>
<class 'list'>
<class 'tuple'>
<class 'set'>
<class 'dict'>

二、整数类型转换为二进制字符串

使用内置函数 bin() 可以将整数类型转换为二进制字符串。bin 取自单词 binary 的前三个字母。

格式如下:

bin(x)

例如:

a=bin(5)
b=bin(0xa1)
c=bin(0o27)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))

运行结果为:
0b101
<class 'str'>
0b10100001
<class 'str'>
0b10111
<class 'str'>

三、整数类型转换为八进制字符串

使用内置函数 oct() 可以将整数类型转换为八进制字符串。oct 取自单词 octal 的前三个字母。

格式如下:

oct(x)

例如:

a=oct(5)
b=oct(0xa1)
c=oct(0b1101)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))

运行结果为:
0o5
<class 'str'>
0o241
<class 'str'>
0o15
<class 'str'>

四、整数类型转换为十六进制字符串

使用内置函数 hex() 可以将整数类型转换为十六进制字符串。hex 取自单词 hexadecimal 的前三个字母。

格式如下:

hex(x)

例如:

a=hex(5)
b=hex(0o127)
c=hex(0b1101)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))

运行结果为:
0x5
<class 'str'>
0x57
<class 'str'>
0xd
<class 'str'>

五、其他类型转换为整数类型

内置函数 int() 可以将数字类型、字符串类型转换为整数类型。

格式如下:

int(x, base=n)
说明:参数 base 的取值 n 为 281016,base 的默认值为 10
1、参数 x 为整数和浮点数

此时,不需要使用 base 参数,函数的作用是对 x 取整数。

例如:

a=int(5.98)
b=int(50)
c=int(-58.9)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))

运行结果为:
5
<class 'int'>
50
<class 'int'>
-58
<class 'int'>
2、参数 x 为二进制、八进制或十六进制数

此种情况也不需要使用 base 参数,函数的作用是将 x 转换为十进制整数。

例如:

a=int(0b1101)
b=int(0o124)
c=int(0x1a1)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))

运行结果为:
13
<class 'int'>
84
<class 'int'>
417
<class 'int'>
3、参数 x 为字符串

此种情况参数 base 用来指定字符串中的数据的进制(base 默认值为 10,表示字符串中的数据为十进制)。

如果省略参数 base(默认 base = 10),则参数 x 必须是十进制整数的字符串,否则报错。

例如:

a=int("58")
b=int("-25")
#c=int("2.5") #报错
print(a)
print(type(a))
print(b)
print(type(b))
# print(c)
# print(type(c))

运行结果为:
58
<class 'int'>
-25
<class 'int'>

如果指定参数 base,则参数 x 包含的字符串中数据的类型必须和 base 表示的进制一致,否则会报错。

例如:

a=int("0b1101",2)
b=int("0o124",8)
c=int("0x1a0",16)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))

运行结果为:
13
<class 'int'>
84
<class 'int'>
416
<class 'int'>

六、其他类型转换为浮点数

内置函数 float() 可以将数字类型和字符串类型转换为浮点数类型。

格式如下:

float(x)
说明:x 可以是整数、浮点数、字符串类型。
1、x 为浮点数类型

此时,不进行转换,输出浮点数本身。

例如:

a=float(58.2)
b=float(-45.789)
print(a)
print(type(a))
print(b)
print(type(b))

运行结果为:
58.2
<class 'float'>
-45.789
<class 'float'>
2、x 为整数类型

此时,将整数类型转换为浮点数类型。

例如:

a=float(58)
b=float(-45)
print(a)
print(type(a))
print(b)
print(type(b))

运行结果为:
58.0
<class 'float'>
-45.0
<class 'float'>
3、x 为字符串类型

此时,将字符串类型转换为浮点数类型。

例如:

a=float("58.78")
b=float("-45")
print(a)
print(type(a))
print(b)
print(type(b))

运行结果为:
58.78
<class 'float'>
-45.0
<class 'float'>

七、其他类型转换为字符串类型

内置函数 str() 可以将其他类型转换为字符串类型。str 取自单词 string 的前三个字母。

格式如下:

str(x)
1、x 为字符串类型

此时,不进行转换,输出字符串本身。

例如:

a=str("58.78")
b=str("hello python")
print(a)
print(type(a))
print(b)
print(type(b))

运行结果为:
58.78
<class 'str'>
hello python
<class 'str'>
2、x 为整数或浮点数类型

此时,将 x 转换为十进制字符串类型。

例如:

a=str(0b1101)
b=str(0xa12)
c=str(0o123)
d=str(58.7)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))
print(d)
print(type(d))

运行结果为:
13
<class 'str'>
2578
<class 'str'>
83
<class 'str'>
58.7
<class 'str'>

八、Python 的基本数据类型总结

Python 的基本数据类型包括:数字类型、文本类型、布尔类型。

1、在 Python 中,默认以十进制整数显示数字。

2、二进制整数以 0b 或 0B开头。

3、八进制整数以 0o 或 0O 开头。

4、十六进制整数以 0x 或 0X 开头。

5、使用内置函数 bin() 可以将其他数据转换为二进制数字字符串。

6、使用内置函数 oct() 可以将其他数据转换为八进制数字字符串。

7、使用内置函数 hex() 可以将其他数据转换为十六进制数字字符串。

8、使用内置函数 int() 可以将其他数据转换为整数。

9、使用内置函数 float() 可以将其他数据转换为浮点数。

10、使用内置函数 str() 可以将其他数据转换为字符串类型。

11、使用内置函数 type() 可以判断数据类型。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐