位置:首页 > Python数据类型转换 >

Python数据类型转换

作者:小牛君|发布时间:2017-06-16

小牛学堂的课程大纲最近进行了再一次升级,并且同时推出Java大数据平台开发班、Python爬虫与数据挖掘班、Spark项目班、Spark大神班、机器学习算法实战班、BI数据分析实战班, 目前这类人群凤毛麟角,导致这个行业的平均薪资极高,为此小牛学堂集合了行业的诸多大牛开设对应班级,为想学习的同学提供机会!
如果想了解详细情况,请联系 今日值班讲师 或者直接加入千人QQ群进行咨询:Spark大数据交流学习群613807316

以下是本文正文:


1.1.  Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数

描述

int(x [,base])

将x转换为一个整数

long(x [,base] )

将x转换为一个长整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

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

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列   (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

 

数值类型转换

int(x [,base ])         将x转换为一个整数 

long(x [,base ])        将x转换为一个长整数 

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

complex(real [,imag ])  创建一个复数 

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

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

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

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

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

bin(x )                 将一个整数转换为一个二进制字符串

例:

print int("1234")
 
print long(123),long("123")
 
print float(123),float("123")
 
print complex(10,2),complex(2,2)
print hex(10)
 
print oct(10)
 
print bin(10)
 
 

 

结果:

1234

123 123

123.0 123.0

(10+2j) (2+2j)

0xa

012

0b1010

 

 

str()和repr()的区别

print str(123),str(('hello','you')),str(['hello','me']),str({'name':'Jmilk','age':23})
 
print repr(123),repr(('hello','you')),repr(['hello','me']),repr({'name':'Jmilk','age':23})
 
print eval("1+3"),eval("(123, 'john')+('hello', 786 , 2.23)")

结果:

123 ('hello', 'you') ['hello', 'me'] {'age': 23, 'name':   'Jmilk'}

123 ('hello', 'you') ['hello', 'me'] {'age': 23, 'name':   'Jmilk'}

4 (123, 'john', 'hello', 786, 2.23)

 

 

str和repr函数都是将对象转换为字符串,而str()函数的目标是用户的可读性,repr()函数的目标是python解析器的可读性。

例:

name = ('My name is Jmilk\n')
 
print type(str(name)),str(name)
 
print type(repr(name)),repr(name)
 

 

结果:

<type 'str'> My name is Jmilk

 

<type 'str'> 'My name is Jmilk\n'

 

 

tuple和list的相互转换

例:

str = 'hello world'
 
print list(str)
 
print tuple(str)
tup = (
'hello','world')
 
print list(tup)
list = [
'hello','world']
 
print tuple(list)
 

 

结果:

['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l',   'd']

('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l',   'd')

['hello', 'world']

('hello', 'world')

 

将List和Tuple复合数据类型转换为Dictionary

li = ['name','age','city']
tup = (
'jmilk',23,'BJ')
kvtup =
zip(li, tup)
 
print kvtup
 
print dict(kvtup)
 

 

结果:

[('name', 'jmilk'), ('age', 23), ('city', 'BJ')]

{'city': 'BJ', 'age': 23, 'name': 'jmilk'}

 

 



了解更多详情请联系 今日值班讲师 或者直接加入千人QQ群进行咨询:Spark大数据交流学习群613807316

分享到: