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实现网页链接提取的方法分享
Feb 25 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
python回调函数中使用多线程的方法
Dec 25 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
Python全排列操作实例分析
Jul 24 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 Python
Apache部署Django项目图文详解
Jul 30 Python
Python filter过滤器原理及实例应用
Aug 18 Python
Python importlib模块重载使用方法详解
Oct 13 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
May 25 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
收音机指标测试方法及仪器
2021/03/01 无线电
天津市收音机工业发展史
2021/03/04 无线电
apache配置虚拟主机的方法详解
2013/06/17 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
js逆向解密之网络爬虫
2019/05/30 Javascript
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python奇偶行分开存储实现代码
2018/03/19 Python
python实现简单名片管理系统
2018/11/30 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
文秘档案管理岗位职责
2014/03/06 职场文书
开展读书活动总结
2014/06/30 职场文书
初中同学会活动方案
2014/08/22 职场文书
大学生入党自荐书
2015/03/05 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
聘用合同范本
2015/09/21 职场文书
生日寿星公答谢词
2015/09/29 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers