国产探花免费观看_亚洲丰满少妇自慰呻吟_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()函數的介紹,如有問題歡迎留言評論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马公市| 固阳县| 三明市| 临邑县| 邵东县| 松溪县| 黑龙江省| 闻喜县| 大连市| 江油市| 承德市| 濮阳县| 德江县| 台东市| 乌兰浩特市| 翁源县| 永安市| 澜沧| 信宜市| 肇庆市| 元氏县| 兴安盟| 宜兰县| 长海县| 福州市| 永仁县| 彭阳县| 于都县| 怀化市| 通城县| 云安县| 巍山| 岳阳县| 康保县| 乡宁县| 兴和县| 扶沟县| 海淀区| 七台河市| 治县。| 乐昌市|