Python內建函式 19 oct

2021-09-25 19:33:29 字數 1896 閱讀 7667

英文文件:

oct(x)

convert an integer number to an octal string. the result is a valid python expression. if 

x is not a python 

intobject, it has to define an 

__index__()method that returns an integer.

將整數轉換為8進製的字串

說明:1. 函式功能將乙個整數轉換成8進製字串。如果傳入浮點數或者字串均會報錯。

>>> a = oct(10)

>>> a

'0o12'

>>> type(a) # 返回結果型別是字串

>>> oct(10.0) # 浮點數不能轉換成8進製

traceback (most recent call last):

file "", line 1, in oct(10.0)

typeerror: 'float' object cannot be interpreted as an integer

>>> oct('10') # 字串不能轉換成8進製

traceback (most recent call last):

file "", line 1, in oct('10')

typeerror: 'str' object cannot be interpreted as an integer

2. 如果傳入引數不是整數,則其必須是乙個定義了__index__並返回整數函式的類的例項物件。

# 未定義__index__函式,不能轉換

>>> class student:

def __init__(self,name,age):

self.name = name

self.age = age

>>> a = student('kim',10)

>>> oct(a)

traceback (most recent call last):

file "", line 1, in oct(a)

typeerror: 'student' object cannot be interpreted as an integer

# 定義了__index__函式,但是返回值不是int型別,不能轉換

>>> 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 "", line 1, in 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'

輕鬆學習Python 69個內建函式 oct

oct x 將乙個整數轉變為乙個字首為 0o 的八進位制字串。結果是乙個合法的 python 表示式。如果 x 不是 python 的 int 物件,那它需要定義 index 方法返回乙個整數。一些例子 將乙個整數轉變為乙個字首為 0o 的八進位制字串。print f print f print f...

Python基礎 19類和例項的內建函式

1 issubclass issubclass 布林函式,判斷乙個類是否是另乙個類的子類或子孫類。它有如下語法 issubclass sub,sup 這個函式也允許 不嚴格 的子類,意味著,乙個類可視為其自身的子類,所以,這個函式如果當sub 就是sup,或者從sup 派生而來,則返回true。從p...

python重寫內建函式 python 內建函式

說明 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。語法 zip iterable1,iterable2,引數 iterable 乙個或多...