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中变量赋值的问题
Jan 12 Python
Python 模块EasyGui详细介绍
Feb 19 Python
python3.4用函数操作mysql5.7数据库
Jun 23 Python
Python+tkinter使用80行代码实现一个计算器实例
Jan 16 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
python3+PyQt5自定义视图详解
Apr 24 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
Python 创建TCP服务器的方法
Jul 28 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 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基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
Python IDLE入门简介
2017/12/08 Python
Python全排列操作实例分析
2018/07/24 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
西雅图的买手店:Totokaelo
2019/10/19 全球购物
教师实习自我鉴定
2013/12/13 职场文书
供货协议书范本
2014/04/22 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
运动会广播稿20字
2015/08/19 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
分析Python list操作为什么会错误
2021/11/17 Python
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers