Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die integrierte Bin-Funktion von Python

Detaillierte Einführung in die integrierte Bin-Funktion von Python

高洛峰
高洛峰Original
2017-03-21 11:33:402696Durchsuche

Englisches Dokument:

bin(x)

An konvertieren Ganzzahlige Zahl in eine Binärzeichenfolge umwandeln. Wenn x kein Python-int-Objekt ist, muss eine __index__()-Methode definiert werden, die eine Ganzzahl zurückgibt.

Beschreibung:

1. Wandeln Sie eine Ganzzahl in eine Binärzeichenfolge um

>>> b = bin(3) 
>>> b
'0b11'
>>> type(b) #获取b的类型
<class &#39;str&#39;>

2. Wenn der Parameter x keine Ganzzahl ist, muss x eine definieren __index__()-Methode und der Rückgabewert der Methode muss eine Ganzzahl sein.

2.1 Wenn das Objekt keine Ganzzahl ist, wird ein Fehler gemeldet

>>> class A:
    pass

>>> a = A()
>>> bin(a) 
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    bin(a)
TypeError: &#39;A&#39; object cannot be interpreted as an integer

2.2 Wenn das Objekt die Methode __index__ definiert, der Rückgabewert jedoch keine Ganzzahl ist, wird ein Fehler gemeldet

>>> class B:
    def __index__(self):
        return "3"

>>> b = B()
>>> bin(b)
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    bin(b)
TypeError: __index__ returned non-int (type str)

2.3 Das Objekt definiert die __index__-Methode und der Rückgabewert ist eine Ganzzahl. Konvertieren Sie den Rückgabewert der __index__-Methode in eine Binärzeichenfolge

>>> class C:
    def __index__(self):
        return 3

>>> c = C()
>>> bin(c)
&#39;0b11&#39;

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die integrierte Bin-Funktion von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn