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基于pygame实现图片代替鼠标移动效果
Nov 11 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
Django 外键的使用方法详解
Jul 19 Python
python是否适合网页编程详解
Oct 04 Python
利用Python绘制Jazz网络图的例子
Nov 21 Python
python创建ArcGIS shape文件的实现
Dec 06 Python
python super用法及原理详解
Jan 20 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
Jupyter notebook 不自动弹出网页的解决方案
May 21 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
PHPlet在Windows下的安装
2006/10/09 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
Python 流程控制实例代码
2009/09/25 Python
用Python实现一个简单的线程池
2015/04/07 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python编写简单端口扫描器
2019/09/04 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
PHP中如何使用Cookie
2015/10/28 面试题
大一学生职业生涯规划
2014/03/11 职场文书
社区文化建设方案
2014/05/02 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
中班上学期个人总结
2015/02/12 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python