码迷,mamicode.com
首页 > 编程语言 > 详细

Python全栈之路----类型转换

时间:2019-01-18 23:10:44      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:类型转换   除了   ane   pre   size   stdin   bsp   style   code   

显式转换

int(x [,base]) ? 将x转换为一个十进制的整数

long(x [,base]) ? 将x转换为一个十进制的长整数

float(x) ? 将x转换为一个浮点数

str(object) ? 转换为字符串

repr(object) ? 转换为表达式字符串

eval(str) ? 用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(seq) ? 将序列seq转换为一个元组

list(seq) ? 将序列seq转换为一个列表

chr(x ) ? 将一个整数转换为一个字符

unichr(x ) ? 将一个整数转换为Unicode字符

ord(x ) ? 将一个字符转换为它的整数值

hex(x ) ? 将一个整数转换为一个十六进制字符串

oct(x ) ? 将一个整数转换为一个八进制字符串

Non-String转换成String类型

1.List -> String 

>>> li = [My,name,is,Jmilk]
>>> strLi = str(li)
>>> print(strLi)
[My, name, is, Jmilk]
>>> type(strLi)
<class str>

2.Tuple -> String

>>> tup = (my,name,is,jmilk)
>>> Tup = str(tup)
>>> Tup
"(‘my‘, ‘name‘, ‘is‘, ‘jmilk‘)"
>>> type(Tup)
<class str>

3.Dictionary -> String

>>> dic = {name:Jmilk,age:23}
>>> Dic = str(dic)
>>> Dic
"{‘name‘: ‘Jmilk‘, ‘age‘: 23}"
>>> type(Dic)
<class str>

str()和repr()的区别

(1)repr()支持eval(repr(object)) == object。

(2)str()函数的结果适合用户阅读,repr()的结果适合python解析器阅读,其中有一些Python解析器能够识别的数据细节,但这些细节一般对用户是多余的。

(3)repr()转换后的String对象可以通过求值运算eval()来还原到转换之前的对象,str()通常不需要eval()去处理。

>>> name = (alex\n,reic\n,jane\n)
>>> print(str(name))
alex
,reic
,jane

>>> print(repr(name))
alex\n,reic\n,jane\n

eval():

(1)能结合repr()函数将一个经过转换为Strng类型后的对象还原为转换之前的对象类型。

(2)eval()也被称为求值运算,可以将字符串str当成有效的表达式来求值并返回计算结果。

>>> name = (My name is Jmilk\n)
>>> name1 = str(name) >>> name1 My name is Jmilk\n
>>> name2 = repr(name) >>> name2 "‘My name is Jmilk\\n‘"
>>> eval(name1) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 My name is Jmilk ^ SyntaxError: invalid syntax
>>> eval(name2) My name is Jmilk\n

eval(str(Object))可能会报错,无法还原为原来的对象型。而eval(repr(object))却可以还原,下面例子:

>>> name = (My,name,is,Jmilk\n)

>>> repr(name)
"(‘My‘, ‘name‘, ‘is‘, ‘Jmilk\\n‘)"

>>> eval(repr(name))
(My, name, is, Jmilk\n)

>>> type(eval(repr(name)))
<class tuple>

       总结:str()函数主要是为了让人能够更好的阅读其内容,而rper()除了转换为String类型外,还能够被Python解析器识别其数据细节,从而repr()转换后的字符串能够被当作有效表达式来处理。
       注意:eval()函数最主要的功能是能够将字符串中有效的表达式进行计算并返回一个对象。如下:

>>> sum = 100 + 10
>>> eval(sum)
110

Non-int转换成int类型

 

 

 

Python全栈之路----类型转换

标签:类型转换   除了   ane   pre   size   stdin   bsp   style   code   

原文地址:https://www.cnblogs.com/Moxiaoyu666/p/10290047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!