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

 更新时间:2015年12月02日 14:53:52   作者:波比12  
Python提供了一些内建函数用于基本对象类型:cmp(),repr(),str(),type()和等同于repr()的(' ')操作符,本文给大家分享Python随手笔记之标准类型内建函数,对python内建函数相关知识感兴趣的朋友一起学习吧

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 社区目前已经不鼓励继续使用``运算符。

相关文章

  • Python3中urllib库添加请求头的两种方式

    Python3中urllib库添加请求头的两种方式

    Python 3中的urllib模块可以用来处理URL,包括下载和上传文件、创建和读取cookie、访问Web API等,本文给大家介绍Python3中urllib库添加请求头的两种方式,感兴趣的朋友一起看看吧
    2023-10-10
  • 基于Python编写一个简单的端口扫描器

    基于Python编写一个简单的端口扫描器

    端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到。本文将利用Python编写一个简单的端口扫描器,需要的可以参考一下
    2022-04-04
  • 使用相同的Apache实例来运行Django和Media文件

    使用相同的Apache实例来运行Django和Media文件

    这篇文章主要介绍了使用相同的Apache实例来运行Django和Media文件,Django是最具人气的Python web开发框架,需要的朋友可以参考下
    2015-07-07
  • Python爬虫框架之Scrapy中Spider的用法

    Python爬虫框架之Scrapy中Spider的用法

    今天给大家带来的是关于Python爬虫的相关知识,文章围绕着Scrapy中Spider的用法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python配置文件处理的方法教程

    Python配置文件处理的方法教程

    这篇文章主要给大家介绍了关于Python配置文件处理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Python如何将将模块分割成多个文件

    Python如何将将模块分割成多个文件

    这篇文章主要介绍了Python如何将将模块分割成多个文件,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • 详解python中sort排序使用

    详解python中sort排序使用

    这篇文章主要介绍了python中sort排序使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python 制作自动化翻译工具

    Python 制作自动化翻译工具

    这篇文章主要介绍了Python 实现自动化翻译和替换的脚本,帮助大家更好的理解和学习使用python,提高办公效率感兴趣的朋友可以了解下
    2021-04-04
  • Python实现屏幕截图的两种方式

    Python实现屏幕截图的两种方式

    这篇文章主要介绍了Python实现屏幕截图的两种方式及对这两者的特点和用法进行详细解释,感兴趣的朋友一起看看
    2018-02-02
  • Linux RedHat下安装Python2.7开发环境

    Linux RedHat下安装Python2.7开发环境

    这篇文章主要为大家详细介绍了Linux RedHat下安装Python2.7、pip、ipython环境、eclipse和PyDev环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论