Python随手笔记之标准类型内建函数


Posted in Python onDecember 02, 2015

Python提供了一些内建函数用于基本对象类型:cmp(),repr(),str(),type()和等同于repr()的(' ')操作符

(1)type()

   type的用法如下:

          type(object)

   接受一个对象作为参数,并返回它的类型。他的返回值是一个类型对象。

>>>type('r')
<type 'str'>
>>>type(3)
<type 'int'>
>>>type(type(5))
<type 'type'>

(2)cmp()

内建函数cmp()用于比较两个对象obj1和obj2。如果obj1大于obj2,则返回一个正整数,如果小于,则返回一个负整数,等于的话返回0.

>>>a,b=4,12
>>>cmp(a,b)
-1
>>>b=4
>>>cmp(a,b)
0
>>>a,b='xyz','abc'
>>>cmp(a,b)
23

 (3)str()、repr()

     可以方便的以字符串的方式获取对象的内容、类型、数值属性等信息。str()函数得到的字符串可读性好,而repr()得到的字符串通常可以用来重新获得该对象。

>>>str(1)
'1'
>>>str(2e4)
'20000.0'
>>>repr([0,1,2,3])
'[0,1,2,3]'

下面抽点时间单独给大家介绍python中的内建函数

在python中,输入如下命令即可查看python的内建函数dir:

>>> dir(__builtins__)

1、str()和repr()以及''运算符

内建函数 str() 和 repr() 或反引号运算符(``) 可以方便的以字符串的方式获取对象的
内容、类型、数值属性等信息。str()函数得到的字符串可读性好, 而repr()函数得到的字符
串通常可以用来重新获得该对象, 通常情况下 obj == eval_r(repr(obj)) 这个等式是成立的。
这两个函数接受一个对象做为其参数, 返回适当的字符串。在下面的例子里, 我们会随机取
一些Python 对象来查看他们的字符串表示。

>>> str(4.53-2j)
'(4.53-2j)'
>>>
>>> str(1)
'1'
>>>
>>> str(2e10)
'20000000000.0'
>>>
>>> str([0, 5, 9, 9])
'[0, 5, 9, 9]'
>>>
>>> repr([0, 5, 9, 9])
'[0, 5, 9, 9]'
>>>
>>> `[0, 5, 9, 9]`
'[0, 5, 9, 9]'

    尽管str(),repr()和``运算在特性和功能方面都非常相似, 事实上 repr() 和 `` 做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示, 也就是说绝大多数情况下
可以通过求值运算(使用eval_r()内建函数)重新得到该对象,但str()则有所不同。str() 致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval_r()求值, 但很适
合用于 print 语句输出。需要再次提醒一下的是, 并不是所有repr()返回的字符串都能够用val_r()内建函数得到原来的对象:

>>> eval_r(`type(type))`)
File "<stdin>", line 1
eval_r(`type(type))`)
^
SyntaxError: invalid syntax

    也就是说 repr() 输出对 Python 比较友好, 而str()的输出对人比较友好。虽然如此,
很多情况下这三者的输出仍然都是完全一样的。

核心笔记:为什么我们有了repr()还需要``?

    在Python 学习过程中,你偶尔会遇到某个运算符和某个函数是做同样一件事情。之所以如此是因为某些场合函数会比运算符更适合使用。举个例子, 当处理类似函数这样的可执行对象或根据不同的数据项调用不同的函数处理时,函数就比运算符用起来方便。另一个例子就是双星号(**)乘方运算和pow()内建函数,x ** y 和 pow(x,y) 执行的都是x 的y 次方。

译者注:事实上Python 社区目前已经不鼓励继续使用``运算符。

Python 相关文章推荐
python常见的格式化输出小结
Dec 15 Python
Python中super函数的用法
Nov 17 Python
python使用pil库实现图片合成实例代码
Jan 20 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
在Python中COM口的调用方法
Jul 03 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
python可视化实现KNN算法
Oct 16 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 Python
python Tkinter的简单入门教程
Apr 11 Python
python抓取网页中图片并保存到本地
Dec 01 #Python
利用Python学习RabbitMQ消息队列
Nov 30 #Python
MySQL中表的复制以及大型数据表的备份教程
Nov 25 #Python
python基础知识小结之集合
Nov 25 #Python
python 多线程实现检测服务器在线情况
Nov 25 #Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 #Python
简单解决Python文件中文编码问题
Nov 22 #Python
You might like
用PHP创建PDF中文文档
2006/10/09 PHP
PHP通用检测函数集合
2006/11/25 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
Python线程创建和终止实例代码
2018/01/20 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
七一建党节慰问信
2015/02/14 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
运动会致辞稿
2015/07/29 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
创业计划书之花店
2019/09/20 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
使用CSS实现音波加载效果
2023/05/07 HTML / CSS