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 相关文章推荐
在类Unix系统上开始Python3编程入门
Aug 20 Python
Python操作MySQL数据库9个实用实例
Dec 11 Python
python 生成器协程运算实例
Sep 04 Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
python pandas写入excel文件的方法示例
Jun 25 Python
Python初学者常见错误详解
Jul 02 Python
python web框架 django wsgi原理解析
Aug 20 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php长字符串定义方法
2012/07/12 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
python制作图片缩略图
2019/04/30 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python常用运维脚本实例小结
2020/02/14 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
土木工程师岗位职责
2013/11/24 职场文书
预备党员表决心书
2014/03/11 职场文书
应用外语系自荐信
2014/06/26 职场文书
授权委托书样本
2014/09/25 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
督导岗位职责范本
2015/04/10 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
详解Python中的for循环
2022/04/30 Python