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 相关文章推荐
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
Python检测生僻字的实现方法
Oct 23 Python
python递归删除指定目录及其所有内容的方法
Jan 13 Python
目前最全的python的就业方向
Jun 05 Python
python爬取网页转换为PDF文件
Jun 07 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
python 动态调用函数实例解析
Oct 21 Python
python多进程下的生产者和消费者模型
May 07 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
python 制作磁力搜索工具
Mar 04 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 sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
python实现的阳历转阴历(农历)算法
2014/04/25 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
django 模版关闭转义方式
2020/05/14 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
一名女生的自荐信
2013/12/08 职场文书
应急管理培训方案
2014/06/12 职场文书
群众路线表态发言材料
2014/10/17 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
解决mysql的int型主键自增问题
2021/07/15 MySQL
mysql如何能有效防止删库跑路
2021/10/05 MySQL