在Python常用类型转换函数的内容中,有几个比较有意思的函数:str(),repr(),print(),chr(),eval(str)。
1、str():用于将对象转化为适于人阅读的字符串的形式;
2、repr():用于将对象转化为可供解释器读取的字符串形式;
3、print():将对象打印并输出,省去引号;
4、chr():将一个整数转化为字符,整数为字符的ASCII编码;
5、eval(str):将字符串str当做表达式进行求值,并返回计算结果;
下面我们通过几个实例解释一些这几个函数。
a = 666
type(a)
Out[9]: int
type(print(a))
666
Out[10]: NoneType
b = '666'
print(b)
666
type(b)
Out[13]: str
type(print(b))
666
Out[14]: NoneType
例子中,print函数具有打印功能,打印的时候去掉了引号,并且输出值没有类型。但是,repr()函数会为对象加引号!可以看下面例子,还是使用a和b的表达式。
a = 666
b = '666'
repr(b)
Out[16]: "'666'"
repr(a)
Out[17]: '666'
接下来对比str()函数,参考下面输出和repr()函数对比。
a = 666
b = '666'
str(a)
Out[18]: '666'
str(b)
Out[19]: '666'
最后,我们测试一下chr()和eval()函数,如下:
a = 666
b = '666'
c = '-665'
#b和c如果不是字符串就会报错
eval(b+c)
Out[24]: 1
chr(a)
Out[20]: 'ʚ'