全部博文(2065)
分类: Python/Ruby
2010-03-24 22:44:10
python中类型转换
[整理人:遥方 整理时间:
一、类型转换函数
函数 描述
int(x [,base ]) 将x转 换为一个整数 (其中base表示基数)
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 转换为一个列 表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将 一个整数转换为Unicode字符
ord(x ) 将一个字符转换为 它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将 一个整数转换为一个八进制字符串
补充:有关于str与repr的区别:
str()函数得到的字符串可读性好,而repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下obj ==
eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象,但str()则有所不同。str()致力于生成一个对象 的可读性好的字符串表示,它的返回结果通常无法用于eval()求值,但很适合用于print语句输出。需要再次提醒的是,并不是所有repr()返回的 字符串都能够用 eval()内建函数得到原来的对象。[通过使用eval可以将repr返回的字符串还原回去]
结论:也就是说 repr() 输出对 Python比较友好,而str()的输出对用户比较友好。
二、数值操作
操作符 含义
x << y
左移
x >> y 右移
x & y 按位与
x | y 按位或
x ^ y 按 位异或 (exclusive or)
~x 按 位翻转
x + y 加
x - y 减
x * y 乘
x / y 常 规除
x // y 地板除
x ** y 乘 方 (xy )
x % y 取模 (x mod y )
-x 改 变操作数的符号位
+x 什么也不做
~x ~x=-(x+1)
abs(x ) 绝 对值
divmod(x ,y ) 返 回 (int(x / y ), x % y )
pow(x ,y [,modulo ]) 返 回 (x ** y ) x % modulo
round(x ,[n]) 四舍 五入,n为小数点位数
x < y 小于
x > y 大 于
x == y 等于
x != y 不 等于(与<>相同)
x >= y 大于等于
x <= y 小 于等于