Python oct() 语法
oct() 是 Python 的一个内置函数,它用于将其他进制整数转换为八进制整数。其中,oct 是 “octal(八进制)” 的缩写。
语法:
oct(x)说明:
oct() 接收单个参数。
x(必选):必须是一个整数,它可以是任意其他进制的整数(如 10 进制、2 进制、16 进制等),或实现了 __index__() 方法的对象。
oct() 函数返回的是一个字符串,该字符串包含整数参数的八进制表示,前缀为 “0o”。如果你不想要这个前缀,可以使用字符串切片(如 oct(x)[2:])或 format() 方法(如 '{:o}'.format(x))。
注意:
- oct() 函数返回的是一个字符串,而不是一个数字类型。
- 对于负数,oct() 的行为与 bin() 类似,通常会返回一个带负号的字符串,后跟其绝对值的八进制表示。
Python oct() 摘要
| 使用频率 | 低 |
|---|---|
| 官方文档 | 查看 |
Python oct() 示例
接下来,我们通过几个简单的例子来讲解一下 Python oct() 函数是如何使用的。
示例 1:oct() 基本用法
print(oct(10)) # 十进制转八进制
print(type(oct(10))) # 验证返回类型运行结果如下。
0o12
<class 'str'>示例 2:oct() 将其他进制转为八进制
# “十进制” 转八进制
print(oct(10))
# “二进制” 转八进制
print(oct(0b1010))
# “十六进制” 转八进制
print(oct(0XA))运行结果如下。
0o12
0o12
0o12分析:
“0b” 开头的数字代表的是 “二进制数”,b 是 “Binary” 的缩写。“0X” 开头的数字代表的是 “十六进制数”,X 是 “heXadecimal” 的缩写。
深入了解 oct()
如果参数不是一个整数(即 int 对象),那么执行 oct() 函数就会抛出 TypeError 异常。当然了,我们也可以在类中自定义 __index__() 方法并返回一个整数,那么执行 oct() 函数就会返回该整数。
提示: bin()、oct()、hex() 这 3 个函数都有以上相同的特征。
示例 3:oct() 的参数不是整数
s = 'lvyenet'
result = oct(s)
print(result)运行结果如下。
( 报错 ) TypeError: 'str' object cannot be interpreted as an integer示例 4:定义对象的 __index__() 方法
class MyType:
def __index__(self):
return 0
a = MyType()
print(oct(a))运行结果如下。
0o0Python 进制转换函数
对于 Python 来说,它有以下 4 个进制转换函数。
bin():将其他进制整数转换为 2 进制整数。oct():将其他进制整数转换为 8 进制整数。hex():将其他进制整数转换为 16 进制整数。format():将值格式化为特定格式的字符串。
| 函数 | 前缀 | 输入 | 输出 |
|---|---|---|---|
| bin() | 0b | 15 | '0b1111' |
| oct() | 0o | 15 | '0o17' |
| hex() | 0x | 15 | '0xf' |
| format() | 无 | 15 | '1111'(使用 'b' 时) |
