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通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
详解Django 中是否使用时区的区别
Jun 14 Python
python字典一键多值实例代码分享
Jun 14 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
Django 实现admin后台显示图片缩略图的例子
Jul 28 Python
python 中xpath爬虫实例详解
Aug 26 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
python获得命令行输入的参数的两种方式
Nov 02 Python
python中复数的共轭复数知识点总结
Dec 06 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
方法汇总:Python 安装第三方库常用
Apr 26 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下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
图片完美缩放
2006/09/07 Javascript
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
Python pandas如何向excel添加数据
2020/05/22 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
程序员经常用到的UNIX命令
2015/04/13 面试题
公司董事长岗位职责
2014/06/08 职场文书
社区两委对照检查材料
2014/08/23 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
小学入学感言
2015/08/01 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
分析Java中Map的遍历性能问题
2021/06/26 Java/Android