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 str与repr的区别
Mar 23 Python
Python文件和流(实例讲解)
Sep 12 Python
Python进程间通信之共享内存详解
Oct 30 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
Python属性和内建属性实例解析
Jan 14 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 Python
python爬虫--selenium模块
Mar 31 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
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
php文件上传简单实现方法
2015/01/24 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
音乐系毕业生自荐信
2013/10/27 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
实验室安全管理制度
2015/08/05 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL
浅谈如何提高PHP代码的质量
2021/05/28 PHP
Apache自带的ab压力测试工具的实现
2022/07/23 Servers