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'))"

  • 相关阅读:
    C#4.0,支持动态语言?
    宁波.NET俱乐部第二次聚会WCF讲稿
    在线学习新编程
    mysql常用函数
    PHP 连接Mysql数据库
    Unix网络编程进阶计划
    RabbitMQ 安装
    Golang 变量
    Golang 结构体
    Golang 指针
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205654.html
Copyright © 2011-2022 走看看