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 UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
python实现简单的socket server实例
Apr 29 Python
python TCP Socket的粘包和分包的处理详解
Feb 09 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
Python语言快速上手学习方法
Dec 14 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
python中sklearn的pipeline模块实例详解
May 21 Python
Python中Selenium模块的使用详解
Oct 09 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各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
js输出列表实现代码
2010/09/12 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
JS求平均值的小例子
2013/11/29 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
python实现巡检系统(solaris)示例
2014/04/02 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
一道输出判断型Java面试题
2014/10/01 面试题
精彩广告词大全
2014/03/19 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
听证会主持词
2015/07/03 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书