推荐设备MORE

教你怎样做微信小程序直播—

教你怎样做微信小程序直播—

公司新闻

repr,python中的repr

日期:2021-03-22
我要分享

这一涵数,相匹配repr(object)这一作用。含意是当必须显示信息一个目标在显示屏处时,将这一目标的特性或是是方式梳理成一个能够复印輸出的文件格式。


这一作用与eval还可以相匹配。复印出的結果立即放进eval里,一般能够得到原先的目标。


例如t1=datetime.datetime.now()


printrepr(t1)


結果是


datetime.datetime(2014,9,9,6,34,29,756000)


与此相相近的作用是__str__


例如给你一个People类,当复印时你只期待它复印出人名,那麼你可以以在__str__涵数里写上returnself.name,那样当必须People作为一字符串时,回到的便是人名。


你应用printstr(t1)时結果是


2014-09-0906:34:29.756000


pythonstr和repr的差别


str与repr差别:


1、python中str涵数一般把目标变换成标识符串,即转化成目标的易读性好的标识符串,一般在輸出文字时应用,或是用以生成标识符串。str的輸出对客户较为友善合适print輸出。


2、pyton中repr涵数将一个目标转成相近源码的标识符串,仅用于显示信息。repr的輸出对python友善,合适eval涵数获得原先的目标。


3、在类中完成__str__和__repr__方式,便可以获得不一样的回到,实例编码:


?class?test(object):


????def?__repr__(self):


????????return? return?test?repr()?string.


????def?__str__(self):


????????return? return?test?str()?string.


?print(str(test()))


return?test?str()?string.


?print(repr(test()))


return?test?repr()?string.


Python中str和repr的差别


虽然str(),repr()和``计算在特点和作用层面都十分类似,客观事实上repr()和``做的是彻底一样的事儿,他们回到的是一个目标的“官方网”标识符串表明,换句话说绝大部分状况下能够根据求值计算(应用內建涵数eval())再次获得该目标。


但str()则有一定的不一样,str()致力于于转化成一个目标的易读性好的标识符串表明,它的回到結果一般没法用以eval()求值,但很合适用以print句子輸出。必须再度提示的是,其实不是全部repr()回到的标识符串都可以用eval()內建涵数获得原先的目标。换句话说repr()輸出对Python较为友善,而str()的輸出对客户较为友善。


尽管这般,许多状况下这三者的輸出依然全是彻底一样的。大伙儿能看下下边的编码,来开展比照


s= Hello,world.


str(s)


Hello,world.


repr(s)


Hello,world.


str(0.1)


0.1


repr(0.1)


0.000001


x=10*3.25


y=200*200


s= Thevalueofxis +repr(x)+ ,andyis +repr(y)+ ...


prints


Thevalueofxis32.5,andyis40000...


#Therepr()ofastringaddsstringquotesandbackslashes:


...hello= hello,world\n


hellos=repr(hello)


printhellos


hello,world\n


#Theargumenttorepr()maybeanyPythonobject:


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


(32.5,40000,( spam , eggs ))


python中的repr和str有哪些差别


涵数str()用以将值转换为适于人阅读文章的方式,而repr()转换为供表述器载入的方式


內建涵数str()和repr()(representation,表述,表明)或反引号实际操作符(``)能够便捷地以标识符串的方法获得目标的內容、种类、标值特性等信息内容。


str()涵数获得的标识符串易读性好(故被print启用)


repr()涵数获得的标识符串一般能够用于再次得到该目标,一般状况下obj==eval(repr(obj))这一等式是创立的。这2个涵数接纳一个目标做为其主要参数,回到适度的标识符串。


客观事实上repr()和``做一样的事儿,回到一个目标的“官方网”标识符串表明。其結果绝大部分状况下(并不是全部)能够根据求值计算(內建涵数eval())再次获得该目标。


str()则不一样,它转化成一个目标的易读性好的标识符串表明,結果一般没法用eval()求值,但合适print輸出。


记牢我,下一次回应时无需再次键入本人信息内容

认证的码 必填,不填不许过哦,嘻嘻。

◎热烈欢迎参加探讨,请在这里里发布您的观点、沟通交流您的见解。