Python对象比较和类型转换

Python对象比较和类型转换

1、Python核心数据类型

数字:int, long, float, complex(复数), bool(布尔)

字符:str, unicode

列表:list

字典:dict

元组: tuple

文件:file

可变集合:set

不可变集合:frozenset

其他类型:类类型, None

其它文件类工具:pipes, fifos, sockets

2、Python中两个对象比较

         1)、值比较:对象中的数据是否相同;

         2)、身份比较:两个变量名引用的是否为同一对象;

         3)、类型比较:两个对象的类型是否相同;

例1:值比较

In [55]: num1=1

In [56]: num2=1

In [57]: num2 == num2

Out[57]: True

In [58]: num1 == num2

Out[58]: True

例2:身份比较

In [59]: num1 is num2

Out[59]: True

In [60]: num1=2

In [61]: num1 is num2

Out[61]: False

例3:类型比较

In [62]: type(num1) is type(num2)

Out[62]: True

In [63]: num1=1

In [64]: type(num1) is type(num2)

Out[64]: True

3、Python类型转换

str(), repr()或format():将非字符型数据转换为字符;

int(): 转为整数

float(): 转为浮点数

list(s): 将字串s转为列表;

tuple(s): 将字串s转为元组;

set(s):将字串s转为集合;

frozenset(s): 将字串s转换为不可变集合;

dict(d):创建字典;其d必须是(key,value)的元组序列;

chr(x): 将整数转为字符

ord(x): 将字符转换为整数值

hex(x):将整数转换为16进制字符

bin(x):将整数转换为2进制字符

oct(x):将整数转换为8进制字符

例1:使用repr()、str()将非字符型数据转换为字符

In [68]: num=5.21

In [69]: type(num)

Out[69]: float

In [70]: num1=repr(num)

In [71]: type(num1)

Out[71]: str

In [72]: num2=str(num)

In [73]: type(num2)

Out[73]: str

In [80]: num3 = '321'

In [81]: type(num3)

Out[81]: str

例2:使用int()将字符转为整数

In [82]: num4=int(num4)

In [83]: type(num4)

Out[83]: int

例3、使用float()将整数转为浮点数

In [84]: num5=float(num3)

In [85]: print num5

321.0

In [86]: type(num5)

Out[86]: float

例4:使用list()将字符串转为列表

In [87]: str1="www.field"

In [88]: l1=list(str1)

In [89]: print l1

['w', 'w', 'w', '.', 'f', 'i', 'e', 'l','d']

In [90]: str2=str(l1)

In [91]: print str2

['w', 'w', 'w', '.', 'f', 'i', 'e', 'l','d']

例5:使用tuple()将字符串转为元组

In [92]: t1=tuple(str1)

In [93]: print t1

('w', 'w', 'w', '.', 'f', 'i', 'e', 'l','d')

例6:使用set()将字符串转为集合

In [94]: s1=set(str1)

In [95]: print s1

set(['e', 'd', 'f', 'i', 'l', '.', 'w'])

In [96]: type(l1)

Out[96]: list

In [97]: type(s1)

Out[97]: set

In [98]: type(t1)

Out[98]: tuple

例7:使用dict()构建字典

In [99]: l2=[('x',11),('y',22),('z',33)]

In [100]: print l2

[('x', 11), ('y', 22), ('z', 33)]

In [101]: dl = dict(l2)

In [102]: print dl

{'y': 22, 'x': 11, 'z': 33}

例8:使用chr():将整数转为字符

In [103]: num1=222

In [104]: c1=chr(num1)

In [105]: type(num1)

Out[105]: int

In [106]: type(c1)

Out[106]: str

例9:使用hex()将整数转换为16进制字符

In [1]: x = 10

In [2]: str1=hex(x)

In [3]: print x

10

In [4]: print str1

0xa

例10:使用bin()将整数转换为2进制字符

In [5]: str2=bin(x)

In [6]: print str2

0b1010

例11:使用oct ()将整数转换为8进制字符

In [7]: str2=oct(x)

In [8]: print str2

012 

猜你喜欢

转载自blog.csdn.net/field_yang/article/details/80553572