• <em id="ommgs"></em>
    <dd id="ommgs"><center id="ommgs"></center></dd>

    1. <em id="ommgs"><acronym id="ommgs"><u id="ommgs"></u></acronym></em>
      首 頁IT知識庫翔宇問吧收藏內容
      當前位置:翔宇亭IT樂園IT知識庫Python

      Python bin()函數

      減小字體 增大字體 作者:本站  來源:本站整理  發布時間:2021-08-10 10:34:48

      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()函數的介紹,如有問題歡迎留言評論。


      如需轉載請注明出處:翔宇亭IT樂園(http://www.dgmtwj.com),并給出本文鏈接地址:

      http://www.dgmtwj.com/article/python/2021/6534.html

      微信搜索“優雅的代碼”關注本站的公眾號,或直接使用微信掃描下面二維碼關注本站公眾號,以獲取最新內容。

      個人成長離不開各位的關注,你的關注就是我繼續前行的動力。

      知識評論評論內容只代表網友觀點,與本站立場無關!

         評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論
      愿您的精彩評論引起共鳴,帶來思考和價值。
      用戶名: 查看更多評論
      分 值:100分 90分 80分 70分 60分 40分 20分
      內 容:
      驗證碼:
      關于本站 | 網站幫助 | 廣告合作 | 網站聲明 | 友情連接 | 網站地圖
      本站部分內容來自互聯網,如有侵權,請來信告之,謝謝!
      Copyright © 2007-2021 biye5u.com. All Rights Reserved.
      japanese日本熟妇photo