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中的多重装饰器
Apr 11 Python
python中私有函数调用方法解密
Apr 29 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
对python函数签名的方法详解
Jan 22 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
django之使用celery-把耗时程序放到celery里面执行的方法
Jul 12 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
Python continue语句实例用法
Feb 06 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
Mar 30 Python
python怎么提高计算速度
Jun 11 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 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
ajax缓存问题解决途径
2006/12/06 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python实现截屏的函数
2015/07/25 Python
django 外键model的互相读取方法
2018/12/15 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
jupyter notebook 重装教程
2020/04/16 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
印刷工程专业应届生求职信
2013/09/29 职场文书
房地产开发计划书
2014/01/10 职场文书
大学专科自荐信
2014/06/17 职场文书
条幅标语大全
2014/06/20 职场文书
多媒体教室标语
2014/06/26 职场文书
心术观后感
2015/06/11 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js