本系列将会陆续整理分享一些的Python内置函数。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_built-in_functions
bin(x)
-
x:整数(int)。如果 x 不是一个 Python int 对象,它必须定义一个返回整数的 __index__() 方法。
返回值:
另外,如何希望输出的字符串不包含二进制默认的“0b”前缀,可以通过以下两种方式实现:
-
使用format()函数:
可以通过不同的格式化选项来控制输出。例如,format(14, ‘#b’)会返回‘0b1110’,包含了前缀“0b”;而format(14, ‘b’)则仅返回‘1110’,不包含前缀。
-
格式化字符串字面量(f-string):
它允许直接在字符串中嵌入表达式。例如,f'{14:#b}’会产生带有“0b”前缀的字符串‘0b1110’,而f'{14:b}’则会生成不带前缀的字符串‘1110’。
下面是一些使用 bin() 函数的示例:
-
示例 1:基本使用
# 转换正整数
print(bin(42))
# 输出: '0b101010'
# 转换零
print(bin(0))
# 输出: '0b0'
# 转换负整数
print(bin(-42))
# 输出: '-0b101010'
# 处理字符串或浮点数类型会引发 TypeError
try:
print(bin("4.2"))
except TypeError as e:
print(e)
# 输出: 'an integer is required (got type str)'
-
示例 2:使用format()函数或f-string
format(42, '#b'), format(42, 'b')
# 输出: ('0b101010', '101010')
f'{42:#b}', f'{42:b}'
# 输出: ('0b101010', '101010')
-
示例 3:具有 __index__() 方法的对象
class MyClass:
def __index__(self):
return 456
obj = MyClass()
result = bin(obj)
print(result)
# 输出:0b111001000,即整数456的二进制字符串


本篇文章来源于微信公众号: 码农设计师
