Python print_r返回值而不是打印它

时间:2012-01-19 16:53:24

标签: python

在Python中,是否有可能做类似的事情:

echo 'Content of $var is ', print_r($var, TRUE);
PHP中的

我有一个变量var,我希望以可读的形式将其内容分配给字符串,例如:

str = 'Hello. '
str = str + var

3 个答案:

答案 0 :(得分:6)

您可以简单地使用str(var),如:

s = 'Hello. ' + str(var)

此处,str是内置函数,与您脚本中的str无关。在Python中编码时,请避免使用与built-in functions的名称相符的名称。

另一种方法是使用字符串格式化运算符%

s = 'Hello. %s' % var

答案 1 :(得分:5)

实现你想要的三种方法

在python中至少有三种方法:

  1. 最好的一个 - 使用 .format()字符串对象方法(自Python 2.6起可用):

    使用简单的替换:

    print 'Content of var is {}'.format(var)
    

    按名称使用引用:

    print 'Content of var is {var}'.format(**locals())
    
  2. 始终正常工作一个 - 格式化操作

    使用简单的替换:

    print 'Content of var is %s' % var
    

    按名称使用引用:

    print 'Content of var is %(var)s' % locals()
    
  3. <强>级联

    print 'Content of var is ' + str(var)
    
  4. 格式化操作中%r%s之间的差异

    %r%s不同,因为%r已替换为变量的表示%s将替换为变量转换为字符串。您可以在下面的示例中清楚地看到它:

    >>> class MyClass():
        def __str__(self):
            return '__str__() result'
        def __repr__(self):
            return '__repr__() result'
    
    
    >>> mc = MyClass()
    >>> '%r' % mc
    '__repr__() result'
    >>> '%s' % mc
    '__str__() result'
    

    有帮助吗?

答案 2 :(得分:1)

这是你在找什么?

import pprint

pprint.pprint(variable)

注意:

var = 'xxx'
s = 'Hello. %s' % var
print s