Python内置函数OCT详解


Posted in Python onNovember 09, 2016

英文文档:

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 '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. 如果传入参数不是整数,则其必须是一个定义了__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 "<pyshell#12>", line 1, in <module>
  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 "<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'
Python 相关文章推荐
编写Python的web框架中的Model的教程
Apr 29 Python
Python yield 使用浅析
May 28 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python中join函数简单代码示例
Jan 09 Python
python3+PyQt5自定义视图详解
Apr 24 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
python递归法实现简易连连看小游戏
Mar 25 Python
django rest framework 实现用户登录认证详解
Jul 29 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
详解python 支持向量机(SVM)算法
Sep 18 Python
Jupyter安装链接aconda实现过程图解
Nov 02 Python
windows10系统中安装python3.x+scrapy教程
Nov 08 #Python
简单谈谈python中的多进程
Nov 06 #Python
python自带的http模块详解
Nov 06 #Python
Python程序中设置HTTP代理
Nov 06 #Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 #Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 #Python
读写json中文ASCII乱码问题的解决方法
Nov 05 #Python
You might like
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
深入分析PHP设计模式
2020/06/15 PHP
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
angular4自定义组件详解
2017/09/28 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
从Python程序中访问Java类的简单示例
2015/04/20 Python
教你学会使用Python正则表达式
2017/09/07 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
对python:print打印时加u的含义详解
2018/12/15 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
餐饮主管岗位职责
2013/12/10 职场文书
大学生职业规划论文
2014/01/11 职场文书
家长会主持词开场白
2014/03/18 职场文书
考试作弊检讨书
2014/10/21 职场文书
讲座通知范文
2015/04/23 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
创业计划书之书店
2019/09/10 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫