Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der in Python integrierten Funktion OCT
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 'str'> >>> oct(10.0) # 浮点数不能转换成8进制 Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> oct(10.0) TypeError: 'float' object cannot be interpreted as an integer >>> oct('10') # 字符串不能转换成8进制 Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> oct('10') TypeError: 'str' 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('Kim',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('Kim',10) >>> oct(a) '0o12'