zoukankan      html  css  js  c++  java
  • python的str()和repr()的区别

    str()一般是将数值转成字符串。
    repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思。如list,dict使用str()是无效的,但使用repr可以,这是为了看它们都有哪些值,为了显示之用。
    The str() function is meant to return representations of values which are fairly
    human-readable, while repr() is meant to generate representations which can be read by
    the interpreter (or will force a SyntaxError if there is not equivalent syntax). For
    objects which don't have a particular representation for human consumption, str() will
    return the same value as repr(). Many values, such as numbers or structures like lists
    and dictionaries, have the same representation using either function. Strings and
    floating point numbers, in particular, have two distinct representations.

    Some examples:


    >>> s = 'Hello, world.'

    >>> str(s)

    'Hello, world.'

    >>> repr(s)

    "'Hello, world.'"

    >>> str(0.1)

    '0.1'

    >>> repr(0.1)

    '0.10000000000000001'

    >>> x = 10 * 3.25

    >>> y = 200 * 200

    >>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'

    >>> print s

    The value of x is 32.5, and y is 40000...

    >>> # The repr() of a string adds string quotes and backslashes:

    ... hello = 'hello, world '

    >>> hellos = repr(hello)

    >>> print hellos

    'hello, world '

    >>> # The argument to repr() may be any Python object:

    ... repr((x, y, ('spam', 'eggs')))

    "(32.5, 40000, ('spam', 'eggs'))"

    >>> # reverse quotes are convenient in interactive sessions:

    ... `x, y, ('spam', 'eggs')`

    "(32.5, 40000, ('spam', 'eggs'))"

    翻译:

    Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。

    函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式

    (如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr()

    等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。

    字符串和浮点数,有着独特的解读方式。


    >>> s = 'Hello, world.'
    >>> str(s)
    'Hello, world.'
    >>> repr(s)
    "'Hello, world.'"
    >>> str(1.0/7.0)
    '0.142857142857'
    >>> repr(1.0/7.0)
    '0.14285714285714285'
    >>> x = 10 * 3.25
    >>> y = 200 * 200
    >>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'
    >>> print s
    The value of x is 32.5, and y is 40000...
    >>> # The repr() of a string adds string quotes and backslashes:
    ... hello = 'hello, world '
    >>> hellos = repr(hello)
    >>> print hellos
    'hello, world '
    >>> # The argument to repr() may be any Python object:
    ... repr((x, y, ('spam', 'eggs')))
    "(32.5, 40000, ('spam', 'eggs'))"

  • 相关阅读:
    微信朋友圈怎么发文字?如何只发文字和表情?
    微信将推指纹支付 "指付通"会与Touch ID整合吗
    微信公众平台上传图片很卡 微信整合京东的关系?
    微信公众平台可以修改名称吗?微信认证时可以改名!
    怎样制作漂亮的微信二维码?用在线二维码生成器!
    微信网页版APP
    织梦channelid是什么?dede channel typeid有什么区别
    微信消息如何添加文字链接?【微信公众平台技巧】
    为什么在有些文章末尾加一张收录截图?
    5步教你设置微信自定义菜单【微信公众平台技巧】
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205654.html
Copyright © 2011-2022 走看看