Detaillierte Erläuterung der in Python integrierten Funktion OCT

黄舟
Freigeben: 2016-12-15 09:24:30
Original
1271 Leute haben es durchsucht

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.
Nach dem Login kopieren

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
Nach dem Login kopieren

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 „“, Zeile 1, in

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;
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage