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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
Python计算三维矢量幅度的方法
Jun 15 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
pyqt5简介及安装方法介绍
Jan 31 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
Dec 05 Python
Python requests模块实例用法
Feb 11 Python
Python定义函数功能与用法实例详解
Apr 08 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
Python之字典添加元素的几种方法
Sep 30 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
php开发文档 会员收费1期
2012/08/14 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
Nodejs + sequelize 实现增删改查操作
2020/11/07 NodeJs
python使用range函数计算一组数和的方法
2015/05/07 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
python os模块简单应用示例
2019/05/23 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
员工自我鉴定范文
2013/10/06 职场文书
超市采购员岗位职责
2014/02/01 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
出纳工作检讨书
2014/10/18 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
如何写辞职信
2015/05/13 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书