国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python bin()函數

2023-04-24 19:21:36
字體:
來源:轉載
供稿:網友

bin()是Python的一個內置函數,其作用是返回一個整數的二進制表示形式的字符串。該函數的參數可以是一個十進制的整數,也可以是其它進制的整數。返回的字符串以'0b'開始,表示這是一個二進制形式的字符串。其它非整數類型,如果其實現了__index__()函數,也可以使用該函數。

bin()函數的語法格式

官方文檔給出的bin()函數的語法形式如下所示:

bin(x)

參數

x:是一個整數數值,可以是十進制的整數,也可以是其它進制的整數,但不可以是浮點數。該參數也可以是在類內部實現了__index__()函數的對象。

返回值

該函數的返回值是x的一個二進制形式的字符串,該字符串以'0b'開始。

python bin()函數

bin()函數使用示例

#Python 3.8.2 [MSC v.1916 64 bit (AMD64)] on win32
>>>
>>> x = 10
>>> print(bin(x))
0b1010
>>> print(type(bin(x)))
<class 'str'>
>>>

從上面的例子中可以看出,bin()函數把整型數10轉換成了二進制形式:0b1010,同時使用type(bin(x))可以看出,bin()函數返回的是一個字符串類型。

bin()函數的參數可以是負的整數,但不能是浮點數。看看下面的例子:

>>> x = -123
>>> print(bin(x))
-0b1111011
>>> x = 0
>>> print(bin(x))
0b0
>>> x = -0
>>> print(bin(x))
0b0
>>> x = 12.0
>>> print(bin(x))
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    print(bin(x))
TypeError: 'float' object cannot be interpreted as an integer

>>> x = 1.3
>>> print(bin(x))
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    print(bin(x))
TypeError: 'float' object cannot be interpreted as an integer

>>>

從上面的例子可以看出,當參數x是浮點數時,將引發TypeError錯誤。

參數x也可以是其它進制的整型數。

下面的例子演示了二進制十六進制八進制的情況。

>>> x = 0b1001
>>> print(bin(x))
0b1001
>>> x = 0X1F
>>> print(bin(x))
0b11111
>>> x = 0o17
>>> print(bin(x))
0b1111
>>> 

如果類中實現了__index__()函數,則bin()函數的參數x也可以是用戶自定義的對象。

下面例子演示了在類內部實現__index__()函數以及未實現__index__()函數的情形。

class Student:
    id = 0
    def __init__(self,id):
        self.id = id

    def __index__(self):
        return self.id

class Teacher:
    id = 0
    def __init__(self,id):
        self.id = id

stu = Student(10)
print(bin(stu))

tea = Teacher(11)
print(bin(tea))

輸出結果如下:

0b1010
Traceback (most recent call last):
  File "D:/PY/bin.py", line 19, in <module>
    print(bin(tea))
TypeError: 'Teacher' object cannot be interpreted as an integer

從輸出結果可知,Student中實現了__index__()函數,使用其對象stu作為bin()函數的參數時可以正確執行,沒有產生問題,而Teacher內未實現__index__()函數,則引發了TypeError異常。

以上是關于Python bin()函數的介紹,如有問題歡迎留言評論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞安市| 确山县| 菏泽市| 通榆县| 甘南县| 修文县| 白银市| 广河县| 隆子县| 青川县| 闻喜县| 荆州市| 玛沁县| 衡东县| 罗城| 禹州市| 谢通门县| 尼玛县| 中卫市| 泸定县| 兰州市| 镇原县| 那曲县| 华宁县| 五指山市| 高淳县| 衡水市| 铜梁县| 苏州市| 灵璧县| 喜德县| 新野县| 河北区| 兴义市| 集贤县| 静安区| 宜川县| 广丰县| 诸城市| 公安县| 阳城县|