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

  • 相关阅读:
    Vue.js学习笔记(8)拖放
    Vue.js学习笔记(7)组件详解
    使用了与请求的协议不兼容的地址的解决办法
    修改machine.config遇到System.Net.ServicePointManager 的类型初始值设定项引发异常
    未找到路径“/Agent/SissQrTemplate/AddN”的控制器或该控制器未实现 IController。
    C# .NET 2.0 判断当前程序进程是否为64位运行时 (x64)
    荣耀9开启虚拟按键
    C# .NET 4.5 将多个文件添加到压缩包中
    开IE时 暴卡
    VMware Workstation 安装 mac OS 时遇到 不可恢复错误: (vcpu-0)
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205654.html
Copyright © 2011-2022 走看看