pythonreprstr
1. python repr和str有什么区别
函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式
内建函数str()和repr() (representation,表达,表示)或反引号操作符(``)可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。
str()函数得到的字符串可读性好(故被print调用)
repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下 obj==eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。
事实上repr()和``做一样的事情,返回一个对象的“官方”字符串表示。其结果绝大多数情况下(不是所有)可以通过求值运算(内建函数eval())重新得到该对象。
str()则不同,它生成一个对象的可读性好的字符串表示,结果通常无法用eval()求值,但适合print输出。
2. python __repr__的作用
1,尝试生成这样一个字符串,将其传给 eval可重新生成同样的对象 。
2,否则,生成用尖括号包住的字符串,包含类型名和额外的信息。
3. 新手程序员学习python编程需要了解哪些技巧
python编程开发技术是目前比较热门的编程语言之一了,而对于大多数新接触python编程的程序员来说,如果能够掌握一定的编程技巧的话会大大降低我们掌握python编程的难度,下面IT培训http://www.kmbdqn.cn/就一起来了解一下具体内容吧。
建议1:理解Pythonic概念
建议2:编写Pythonic代码
建议3:理解Python与C语言的不同之处
建议4:在代码中适当添加注释
建议5:通过适当添加空行使代码布局更为优雅、合理
建议6:编写函数的4个原则
建议7:将常量集中到一个文件
建议8:利用assert语句来发现问题
建议9:数据交换值的时候不推荐使用中间变量
建议10:充分利用Lazyevaluation的特性
建议11:理解枚举替代实现的缺陷
建议12:不推荐使用type来进行类型检查
建议13:尽量转换为浮点类型后再做除法
建议14:警惕eval()的安全漏洞
建议15:使用enumerate()获取序列迭代的索引和值
建议16:分清=与is的适用场景
建议17:考虑兼容性,尽可能使用Unicode
建议18:构建合理的包层次来管理mole
建议19:有节制地使用from?import语句
建议20:优先使用absoluteimport来导入模块
建议21:i+=1不等于++i
建议22:使用with自动关闭资源
建议23:使用else子句简化循环(异常处理)
建议24:遵循异常处理的几点基本原则
建议25:避免finally中可能发生的陷阱
建议26:深人理解None,正确判断对象是否为空
建议27:连接字符串应优先使用join而不是+
建议28:格式化字符串时尽量使用.format方式而不是%
建议29:区别对待可变对象和不可变对象
建议30:[]、()和{}:一致的容器初始化形式
建议31:记住函数传参既不是传值也不是传引用
建议32:警惕默认参数潜在的问题
建议33:慎用变长参数
建议34:深入理解str()和repr()的区别
4. 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.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\n'
>>> hellos = repr(hello)
>>> print hellos
'hello, world\n'
>>> # The argument to repr() may be any Python object:
... repr((x, y, ('spam', 'eggs')))
"(32.5, 40000, ('spam', 'eggs'))"
5. 在python中int、str、repr分别是什么函数类顺便问下:类是什么请大神指教。
int、str 都是类
repr是函数。
仔细的讲,内容还是比较多,函数和类在培训班可以讲一两节课的。
通俗的讲:
函数就是若干脚本语句的集合,执行这个函数,就执行了这些语句。
类就是多个函数的集合。
实际操作就还需要很多的概念支持,比如实例化对象、参数传递、变量作用域、可变不可变变量操作、返回值,等等等等。
6. 菜鸟求大大们解释Python里str函数和repr函数的区别
GG上有结果,转过来,顺便我自己也看看。
str()一般是将数值转成字符串。
repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思。
如list,dict使用str()是无效的,但使用repr可以,这是为了看它们都有哪些值,为了显示之用。
EG:
>>>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='Thevalueofxis'+repr(x)+',andyis'+repr(y)+'...'
>>>prints
Thevalueofxis32.5,andyis40000...
>>>#Therepr():
...hello='hello,world '
>>>hellos=repr(hello)
>>>printhellos
'hello,world '
>>>#Theargumenttorepr()maybeanyPythonobject:
...repr((x,y,('spam','eggs')))
"(32.5,40000,('spam','eggs'))"
>>>#:
...`x,y,('spam','eggs')`
"(32.5,40000,('spam','eggs'))"
7. Python里str函数和repr函数有什么区别
这个简单
str是显示给用户用的
repr是给机器用的。
class
A(object):
def
__str__(self):
print
"this
is
A
class"
def
__repr__(self):
print
"this
is
repr
func"
a
=
A()
比如print
a
调用的是a的__str__方法
而如果你在python解释器里直接敲a后回车,调用的是a.__repr__()方法
8. python str() 和 repr() 出现bug了
在python2中,数字以0开头的表示8进制,所以
0521 = 5 × 64 + 2 × 8 + 1 = 337
repr返回的是表达式的字符串表示,而在交互模式下直接输入表达式的效果是 print repr(expr)
repr(0521) == '337',而repr(repr(0521)) == "'337'"。
所以输出的结果等效与下面的:
>>>repr(0521)#相当于printrepr(repr(0521))
'337'
>>>x=0521
>>>x#相当于printrepr(x)
337
9. python str和repr的区别
尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。
但str()则有所不同,str()致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值,但很适合用于print语句输出。需要再次提醒的是,并不是所有repr()返回的字符串都能够用 eval()内建函数得到原来的对象。 也就是说 repr() 输出对 Python比较友好,而str()的输出对用户比较友好。