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 24 Python
利用Psyco提升Python运行速度
Dec 24 Python
Python实现二叉搜索树
Feb 03 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
Python实现JSON反序列化类对象的示例
Jan 31 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
python实现WebSocket服务端过程解析
Oct 18 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
python suds访问webservice服务实现
Jun 26 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 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
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
为什么说python适合写爬虫
2020/06/11 Python
Python 实现进度条的六种方式
2021/01/06 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
班班通校本培训方案
2014/03/12 职场文书
交通志愿者活动总结
2014/06/27 职场文书
化学教育专业自荐信
2014/07/04 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
Python编写nmap扫描工具
2021/07/21 Python
Go语言特点及基本数据类型使用详解
2022/03/21 Golang
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers