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 开发Activex组件方法
Nov 08 Python
python实现将汉字保存成文本的方法
Nov 16 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
Apr 29 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
python 爬取豆瓣网页的示例
Apr 13 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 无线电
4.与数据库的连接
2006/10/09 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
js代码实现微博导航栏
2015/07/30 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
python复制文件代码实现
2013/12/23 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
利用python实现AR教程
2019/11/20 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
司机的工作范围及职责
2013/11/13 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
工作疏忽检讨书
2014/01/25 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
上诉状格式
2015/05/23 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电