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之入门(二)基本数据类型
May 25 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
Python二叉搜索树与双向链表转换实现方法
Apr 29 Python
django2 快速安装指南分享
Jan 05 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
Python爬虫实现爬取百度百科词条功能实例
Apr 05 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
Django返回HTML文件的实现方法
Sep 17 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 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一个解析字符串排列数组的方法
2015/05/12 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
php数组和链表的区别总结
2019/09/20 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
vuex 的简单使用
2018/03/22 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
Django异步任务之Celery的基本使用
2019/03/23 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
财务出纳岗位职责
2014/02/03 职场文书
商场消防演习方案
2014/02/12 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
Python中使用subprocess库创建附加进程
2021/05/11 Python
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
Python开发五子棋小游戏
2022/05/02 Python
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python