Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der in Python integrierten Funktion OCT

Detaillierte Erläuterung der in Python integrierten Funktion OCT

黄舟
黄舟Original
2016-12-15 09:24:301270Durchsuche

Englische Dokumentation:

oct ( x )
Convert an integer number to an octal string. The result is a valid Python expression. If x is not a Pythonobject, 
it has to define anmethod that returns an integer.

Beschreibung:

1. Funktion wandelt eine Ganzzahl in eine Oktalzeichenfolge um. Wenn Sie eine Gleitkommazahl oder einen String übergeben, wird ein Fehler gemeldet.

>>> a = oct(10)
  
>>> a
'0o12'
>>> type(a) # 返回结果类型是字符串
<class &#39;str&#39;>
  
>>> oct(10.0) # 浮点数不能转换成8进制
Traceback (most recent call last):
 File "<pyshell#3>", line 1, in <module>
  oct(10.0)
TypeError: &#39;float&#39; object cannot be interpreted as an integer
  
>>> oct(&#39;10&#39;) # 字符串不能转换成8进制
Traceback (most recent call last):
 File "<pyshell#4>", line 1, in <module>
  oct(&#39;10&#39;)
TypeError: &#39;str&#39; object cannot be interpreted as an integer

2. Wenn der eingehende Parameter keine Ganzzahl ist, muss es sich um ein Instanzobjekt einer Klasse handeln, die __index__ definiert und eine Ganzzahlfunktion zurückgibt.

# Die Funktion __index__ ist nicht definiert und kann nicht konvertiert werden

>>> def __init__(self,name , Alter):

self.name = Name

self.age = Alter

>>> ' ,10)

>>> oct(a)

Traceback (letzter Aufruf zuletzt):

Datei „841d1066733ec6d22488937010de87ee“, Zeile 1, in 4225fa317875f3e92281a7b1a5733569

oct(a)

TypeError: 'Student'-Objekt kann nicht als Ganzzahl interpretiert werden

# definiert __index__-Funktion, aber der Rückgabewert ist nicht vom Typ int und kann nicht konvertiert werden

Das Obige ist eine detaillierte Erklärung der in Python integrierten Funktion OCT. Weitere verwandte Artikel finden Sie in PHP Chinesische Website (www.php.cn)!
>>> class Student:
  def __init__(self,name,age):
    self.name = name
    self.age = age
  def __index__(self):
    return self.name
  
>>> a = Student(&#39;Kim&#39;,10)
>>> oct(a)
Traceback (most recent call last):
 File "<pyshell#18>", line 1, in <module>
  oct(a)
TypeError: __index__ returned non-int (type str)
  
# 定义了__index__函数,而且返回值是int类型,能转换
>>> class Student:
  def __init__(self,name,age):
    self.name = name
    self.age = age
  def __index__(self):
    return self.age
  
>>> a = Student(&#39;Kim&#39;,10)
>>> oct(a)
&#39;0o12&#39;

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