专业编程基础技术教程

网站首页 > 基础教程 正文

python内置数据类型的转换与第三方库的数据转换函数

ccvgpt 2025-02-13 11:21:19 基础教程 11 ℃

Python中常用的数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)等。有时候我们需要将一种数据类型转换成另一种数据类型,可以使用Python中的类型转换函数。

  1. 整数转换函数int()

将其他数据类型转换成整数类型。如果是浮点数,则只保留整数部分。如果是字符串,则字符串必须是纯数字字符串才能转换成整数,否则会报错。

python内置数据类型的转换与第三方库的数据转换函数

a = 5.8
b = "10"
c = "10.5"

print(int(a))   # 5
print(int(b))   # 10
print(int(c))   # 报错:ValueError: invalid literal for int() with base 10: '10.5'
  1. 浮点数转换函数float()

将其他数据类型转换成浮点数类型。如果是整数,则转换成对应的浮点数。如果是字符串,则字符串必须是数字字符串才能转换成浮点数,否则会报错。

a = 5
b = "10.5"
c = "hello"

print(float(a))   # 5.0
print(float(b))   # 10.5
print(float(c))   # 报错:ValueError: could not convert string to float: 'hello'
  1. 字符串转换函数str()

将其他数据类型转换成字符串类型。转换后的字符串与原始数据类型的表达式相同。

a = 5
b = 3.2
c = True

print(str(a))   # '5'
print(str(b))   # '3.2'
print(str(c))   # 'True'
  1. 布尔值转换函数bool()

将其他数据类型转换成布尔值类型。如果转换的数据类型是0、空字符串、空列表、空元组、空字典等,则转换成False,否则转换成True。

a = 0
b = ""
c = []
d = ()

print(bool(a))   # False
print(bool(b))   # False
print(bool(c))   # False
print(bool(d))   # False

e = 1
f = "hello"
g = [1, 2]
h = (1, 2)
i = {"name": "Tom"}

print(bool(e))   # True
print(bool(f))   # True
print(bool(g))   # True
print(bool(h))   # True
print(bool(i))   # True

需要注意的是,在将浮点数转换成整数时,会直接舍去小数部分而不是四舍五入;在将字符串转换成数字类型时,如果字符串中含有非数字字符,会导致转换失败。因此,在进行类型转换时,需要根据实际情况进行数据校验。

5、列表、元、字典组之间的转换

可以使用Python内置的list()、tuple()、dict()函数将列表、元组、字典之间进行相互转换。

将列表转换成元组:

a = [1, 2, 3]
b = tuple(a)
print(b)   # (1, 2, 3)

将元组转换成列表:

a = (1, 2, 3)
b = list(a)
print(b)   # [1, 2, 3]

将字典的键和值分别转换成列表:

a = {"name": "Tom", "age": 18}
keys = list(a.keys())
values = list(a.values())
print(keys)   # ['name', 'age']
print(values)   # ['Tom', 18]

将列表和值两两对应转换成字典:

keys = ['name', 'age']
values = ['Tom', 18]
a = dict(zip(keys, values))
print(a)   # {'name': 'Tom', 'age': 18}
  1. 其他类型转换函数

在Python的内置模块中,还提供了一些其他类型的转换函数。

将二进制数转换成十进制数:

a = "0b1010"
b = int(a, 2)
print(b)   # 10

将八进制数转换成十进制数:

a = "0o12"
b = int(a, 8)
print(b)   # 10

将十六进制数转换成十进制数:

a = "0xA"
b = int(a, 16)
print(b)   # 10

将字符编码转换成字符:

a = 65
b = chr(a)
print(b)   # 'A'

将字符转换成字符编码:

a = 'A'
b = ord(a)
print(b)   # 65

以上就是Python中常用的数据类型转换函数。在实际编程中,对于数据类型的转换需要谨慎操作,需要根据具体的需求选择合适的数据类型转换函数,以避免出现错误和意外的情况。

7、Pandas库中的to_numeric()函数,可以将字符串、浮点数等类型的数据转换成数值类型。

import pandas as pd

a = ["1", "2", "3"]
b = pd.to_numeric(a)
print(b)   # [1, 2, 3]

8、NumPy库中的astype()函数,可以将数组中的数据转换成指定的数据类型。

import numpy as np

a = np.array([1, 2, 3])
b = a.astype(float)
print(b)   # [1. 2. 3.]

9、Matplotlib库中的text()函数,可以将数值类型的数据转换成字符串类型,用于在图表中添加注释。

import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.text(1.5, 5, str((2, 5)), fontsize=12)
plt.show()

总之,第三方库中的数据类型转换函数通常都是针对特定的需求而设计的,可以帮助我们更加方便地进行数据处理和分析。

最近发表
标签列表