Answers:
myvariable = 4
mystring = str(myvariable) # '4'
另外,也可以尝试repr:
mystring = repr(myvariable) # '4'
这在python中称为“转换”,非常普遍。
str(u'ä')行不通。但是repr(u'ä')会起作用。
str旨在产生对象数据的字符串表示形式。如果您正在编写自己的课程,并且想str为您工作,请添加:
def __str__(self):
return "Some descriptive string"
print str(myObj)会打电话给myObj.__str__()。
repr是类似的方法,通常会产生有关类信息的信息。对于大多数核心库对象,repr在尖括号之间生成类名称(有时会生成一些类信息)。repr例如,仅通过在“交互”窗格中键入对象即可使用,而无需使用print或其他任何方法。
您可以repr为自己的对象定义行为,就像可以定义以下对象的行为一样str:
def __repr__(self):
return "Some descriptive string"
>>> myObj在“交互”窗格中,或repr(myObj),将导致myObj.__repr__()
object.__repr__-style角括号表示形式,但是许多最常用的对象却没有。拇指法则repr是,如果是有意义的回报,可以进行评估,以产生相同的目标Python代码,做到这一点,就像str,frozenset和大多数其他建宏做的,但如果没有,用尖括号以确保您返回的内容不会被误认为是人类可读和可评估的源代码代表。
list包括其自身在内的返回的东西不仅看起来像而且是可评估的代码,该代码评估为错误的东西—但是核心开发人员从未将其视为扩展相同内容的许可行为进入stdlib。)
str(object) 会成功的
如果要更改对象的字符串化方式,请__str__(self)为对象的类定义方法。这种方法必须返回str或unicode对象。
str(any_var)或any_var.__str__()
timeit模块对其进行修饰),但您仍应使用str(any_var)它,因为它对人类更易读,并且可以从any_var定义__repr__()但没有定义的情况中受益。定义__str__()。
str(var)?这是您要找的东西吗?