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 相关文章推荐
简单解析Django框架中的表单验证
Jul 17 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
tensorflow识别自己手写数字
Mar 14 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
Python数据类型之List列表实例详解
May 08 Python
Python Web版语音合成实例详解
Jul 16 Python
Jupyter Notebook输出矢量图实例
Apr 14 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
Python 实现PS滤镜的旋涡特效
Dec 03 Python
Pytorch distributed 多卡并行载入模型操作
Jun 05 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
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
PHP控制网页过期时间的代码
2008/09/28 PHP
PHP中PDO的错误处理
2011/09/04 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
解决python3 pika之连接断开的问题
2018/12/18 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
python小程序实现刷票功能详解
2019/07/17 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
python烟花效果的代码实例
2020/02/25 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
关于梦想的演讲稿
2014/05/05 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
刑事上诉状范文
2015/05/22 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
使用JS实现简易计算器
2021/06/14 Javascript