杰瑞科技汇

Python中int如何转string?

在 Python 中,将整数(int)转换为字符串(str)非常简单,主要使用内置的 str() 函数,下面是详细的说明和示例。

Python中int如何转string?-图1
(图片来源网络,侵删)

最简单的方法:使用 str() 函数

这是最直接、最常用的方法。str() 函数是 Python 的内置函数,可以将任何对象(包括整数)转换为其字符串表示形式。

语法:

str(object)

示例:

# 定义一个整数变量
my_int = 123
# 使用 str() 函数将其转换为字符串
my_str = str(my_int)
# 检查类型
print(f"原始变量: {my_int}, 类型: {type(my_int)}")
print(f"转换后变量: {my_str}, 类型: {type(my_str)}")
# 输出结果:
# 原始变量: 123, 类型: <class 'int'>
# 转换后变量: 123, 类型: <class 'str'>

进制转换:int 到其他进制字符串

如果你需要将整数转换为特定进制的字符串表示(如二进制、八进制、十六进制),可以使用内置的 bin(), oct(), 和 hex() 函数,这些函数会返回一个带有前缀的字符串。

Python中int如何转string?-图2
(图片来源网络,侵删)

转换为二进制字符串(以 0b 为前缀)

使用 bin() 函数。

示例:

my_int = 10
binary_str = bin(my_int)
print(f"整数 {my_int} 的二进制字符串是: {binary_str}")
# 输出: 整数 10 的二进制字符串是: 0b1010

转换为八进制字符串(以 0o 为前缀)

使用 oct() 函数。

示例:

my_int = 255
octal_str = oct(my_int)
print(f"整数 {my_int} 的八进制字符串是: {octal_str}")
# 输出: 整数 255 的八进制字符串是: 0o377

转换为十六进制字符串(以 0x 为前缀)

使用 hex() 函数。

示例:

my_int = 255
hex_str = hex(my_int)
print(f"整数 {my_int} 的十六进制字符串是: {hex_str}")
# 输出: 整数 255 的十六进制字符串是: 0xff

去掉前缀的进制转换

有时候你可能不想要 0b, 0o, 0x 这样的前缀,你可以通过字符串切片([2:])来轻松去除它们。

示例:

my_int = 255
# 二进制,无前缀
binary_str_no_prefix = bin(my_int)[2:]
print(f"无前缀的二进制: {binary_str_no_prefix}") # 输出: 11111111
# 八进制,无前缀
octal_str_no_prefix = oct(my_int)[2:]
print(f"无前缀的八进制: {octal_str_no_prefix}") # 输出: 377
# 十六进制,无前缀
hex_str_no_prefix = hex(my_int)[2:]
print(f"无前缀的十六进制: {hex_str_no_prefix}") # 输出: ff

格式化字符串(f-string)

在 Python 3.6 及更高版本中,你可以使用 f-string 来进行更灵活的转换和格式化,这是一种非常现代和推荐的方式。

示例:

my_int = 42
# 基本转换
str_via_fstring = f"{my_int}"
print(f"f-string 转换: {str_via_fstring}, 类型: {type(str_via_fstring)}")
# 格式化为特定宽度的字符串
formatted_str = f"{my_int:10d}"  # 宽度为10,右对齐
print(f"格式化为宽度10: '{formatted_str}'")
# 格式化为带填充字符的字符串
padded_str = f"{my_int:05d}"  # 宽度为5,用0填充
print(f"用0填充到宽度5: '{padded_str}'")
# 格式化为二进制、八进制、十六进制(无前缀)
bin_via_fstring = f"{my_int:b}"
oct_via_fstring = f"{my_int:o}"
hex_via_fstring = f"{my_int:x}"
print(f"f-string 二进制: {bin_via_fstring}") # 输出: 101010
print(f"f-string 八进制: {oct_via_fstring}") # 输出: 52
print(f"f-string 十六进制: {hex_via_fstring}") # 输出: 2a

方法 用途 示例 (int 123) 输出
str() 通用转换(最常用) str(123) '123'
bin() 转换为二进制字符串 bin(123) '0b1111011'
oct() 转换为八进制字符串 oct(123) '0o173'
hex() 转换为十六进制字符串 hex(123) '0x7b'
f-string 现代、灵活的转换和格式化 f"{123}" '123'
f-string (进制) 无前缀的进制转换 f"{123:b}" '1111011'
  • 如果你只需要一个简单的字符串表示,str() 是你的最佳选择。
  • 如果你需要处理特定进制(二进制、八进制、十六进制),使用 bin(), oct(), hex(),并记得用切片 [2:] 去掉前缀。
  • 如果你需要更复杂的格式化(如设置宽度、填充字符等),强烈推荐使用 f-string
分享:
扫描分享到社交APP
上一篇
下一篇