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分割和拼接字符串
Nov 01 Python
python文件写入实例分析
Apr 08 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
python生成圆形图片的方法
Mar 25 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
对python3中, print横向输出的方法详解
Jan 28 Python
python读取Excel表格文件的方法
Sep 02 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 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用户指南-cookies部分
2006/10/09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
vue实现拖拽效果
2019/12/23 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
Python中extend和append的区别讲解
2019/01/24 Python
Python的UTC时间转换讲解
2019/02/26 Python
Python input函数使用实例解析
2019/11/22 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
师范毕业生自我鉴定
2014/01/15 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
面试必备的求职信
2014/05/25 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
党小组推荐意见
2015/06/02 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android