Python 내장 함수 OCT에 대한 자세한 설명

黄舟
풀어 주다: 2016-12-15 09:24:30
원래의
1273명이 탐색했습니다.

영어 문서:

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.
로그인 후 복사

설명:

1. 정수를 8진수 문자열로 변환하는 함수입니다. 부동 소수점 숫자나 문자열을 전달하면 오류가 보고됩니다.

>>> 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. 들어오는 매개 변수가 정수가 아닌 경우 __index__를 정의하고 정수 함수를 반환하는 클래스의 인스턴스 개체여야 합니다.

# __index__ 함수는 정의되지 않았으며 변환할 수 없습니다.

>>> class Student:

def __init__(self,name , 나이):

self.name = 이름

self.age = 나이

>>> ' ,10)

>>> oct(a)

추적(가장 최근 호출 마지막):

파일 "", 첫 번째 줄,

oct(a)

TypeError: 'Student' 객체를 정수로 해석할 수 없습니다

# 정의됨 __index__ 함수인데 반환값이 int형이 아니고 변환이 불가능합니다

>>> 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;
로그인 후 복사

위는 Python 내장 함수 OCT에 대한 자세한 설명입니다. 관련 글은 PHP를 참고해주세요. 중국사이트(www.php.cn)!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿