python str 与repr区别

Python打印值的时候会保持该值在Python代码中的状态,不是用户所希望看到的状态。而使用print打印值则不一样,print打印出来的值是用户所希望看到的状态。 
例如:

>>> "Hello, world!"
‘Hello, world!‘   # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号
>>> 1000L         # python理解为Long型的数字,所以它打印出来的时候也带着后缀L
1000L
>>> print "Hello, world!"    # 打印一个字符串,给用户看的,所以不带引号
Hello, world!
>>> print 1000L              # 用户看到的当然是一个数字1000,而不是字符串1000L
1000

str和repr实际就分别对应上述两种显示方式。

  • str

    把值转换为合理形式的字符串,给用户看的。str实际上类似于int,long,是一种类型。

    >>> print str("Hello,  world!")
    Hello,  world!
    >>> print str(1000L)
    1000
    >>> str("Hello, world!")
    ‘Hello, world!‘               # 字符串转换之后仍然是字符串
    >>> str(1000L)
    ‘1000‘
    
  • repr()

    创建一个字符串,以合法python表达式的形式来表示值。repr()是一个函数。

    >>> print repr("Hello,  world!")
    ‘Hello,  world!‘
    >>> print repr(1000L)
    1000L
    >>> repr("Hello,  world!")
    "‘Hello,  world!‘"
    >>> repr(1000L)
    ‘1000L‘
    

总而言之,str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号。

时间: 2024-10-09 12:34:15

python str 与repr区别的相关文章

python - str和repr方法:

# python 内置__str__()和__repr__()方法: #显示自定制 # 示例1 # a = 123 # print(a.__str__()) # 示例2 class Test(): def __init__(self,name,sex): self.name = name self.sex = sex # def __str__(self): # return "这是str 显示的 人名:%s 性别:%s"%(self.name,self.sex) def __repr

Python中str()与repr()函数的区别

在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因为提供两个功能完全相同的内建函数是没有意义的.先看一个例子. >>> print(str('123')) 123 >

Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因

Python中str()和repr()的区别

Python中str()和repr()的区别 区别 其实用处就是最大的区别了:str()主要用来为终端用户输出一些信息,而repr()主要用来调试:同时后者的目标是为了消除一些歧义(例如浮点数的精度问题),前者主要为了可读. 使用 In [12]: s = 'abc' In [13]: print(str(s)) abc In [14]: print(2.0/11) 0.18181818181818182 In [15]: repr(s) Out[15]: "'abc'" In [16

Python 之 str 、 repr 、 反引号(``)的区别

str . repr . `` .是将Python值转换为字符串的3种方式 >> print str("Hello, World !")hello, world ! >>print repr("Hello, World !")'Hello, World !' >> temp = 2 >> print "The number is " + tempThe number is 2 原文地址:http:/

python yaml 文件解析及str、repr函数的说明

记录说明 yaml 文件解析的方法及str.repr函数的区别 1. yaml 文件解析 config.yml site_name: AJPy pages: - Introduction: index.md - AJP overview: ajp.md theme: readthedocs code: 中文 解析yaml 文件 import yaml import os class OperateYaml(object): """ 操作yaml 文件 ""

Python内置函数str()和repr()

内建函数str()和repr() (representation.表达,表示)或反引號操作符(``)能够方便地以字符串的方式获取对象的内容.类型.数值属性等信息. str()函数得到的字符串可读性好(故被print调用) repr()函数得到的字符串通常能够用来又一次获得该对象,通常情况下 obj==eval(repr(obj)) 这个等式是成立的. 这两个函数接受一个对象作为其參数,返回适当的字符串. 其实repr()和``做一样的事情,返回一个对象的"官方"字符串表示.其结果绝大多

Python中字符串表示str与repr

所有通过Python打印的字符串还是被引号括起来的.这是因为Python打印值的时候会保持该值在Python代码中的状态,而不是你希望用户看到的状态,如果使用print 语句,结果就不一样了. >>> "Hello,world"'Hello,world'        # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号 >>> print "Hello,world"Hello,world

python 字符串编码 str和unicode 区别以及相互转化 decode(&#39;utf-8&#39;) encode(&#39;utf-8&#39;)

python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8') 原文地址:https://www.cnblogs.com/zhaoyingjie/p/9133020.html