免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2044 | 回复: 0
打印 上一主题 下一主题

python 常用转换函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-22 16:03 |只看该作者 |倒序浏览
    python 包含的模块和函数都非常丰富,但在目前版本里缺找不到十进制到二进制转化的现成函数,看到网友在帖子里发了一个关于二进制转化的小段,把它转过来,顺便也添加一些类似的函数,一起作为学习的笔记:

#!/usr/bin/python
def bin(x):
        result = ''
        x = int(x)
        while x > 0:
                mod = x % 2
                x /= 2
                result = str(mod) + result
        return result
if __name__ == '__main__':
        print bin(12)
上边小段程序可以帮你轻松的事先十进制到二进制的转化工作。
应用:
import bin
bin.bin(123)
或者:
from bin import bin
bin(123)

下边给出其他相关进制转化的函数:
10进制转2进制:bin(123)
2进制转10进制:int('10',2)
10进制转16进制:hex(10)
16进制转10进制:int('f',16)     或 int(0xf)
10进制转8进制:oct(18)
8进制转10进制:int('022',8)

字符转化为ASCII: ord('A')
ASCII转化为字符:chr(65)

下面是数据类型相关的转化函数:
int()  函数把数字和字符串转换成一个整数。
str()  函数把对象转换成可打印字符串。
float()函数把一个数字或字符串转换成浮点数。
long() 函数把数字和字符串转换成长整数。
list() 函数可将序列对象转换成列表。

其他类型的常用函数:
min() 函数返回给定参数的最小值,参数可以为序列。
max() 函数返回给定参数的最大值,参数可以为序列。
cmp() 函数比较x和y两个对象,并根据比较结果返回一个整数,如果xy,则返回-1;如果x>y,则返回1,如果x==y则返回0。
abs() 返回一个数字的绝对值。
divmod(x,y) 函数完成除法运算,返回商和余数。
pow() 函数返回以x为底,y为指数的幂。
round(x[,n]) 函数返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
callable() 函数用于测试对象是否可调用,如果可以则返回1(真);否则返回0(假)。
type() 函数可返回对象的数据类型。
len()  函数返回字符串和序列的长度。
range()函数可按参数生成连续的有序整数列表。

一个简单的自定义函数的示范:
def myfun(x): return x+1
>>> myfun(3)

一个经典的计算程序耗时的示范:
#!/usr/bin/env python
import time
startTime = time.time()
    do somthings
endTime = time.time()
print "Finished in %f seconds!" % (endTime - startTime)
结果:
Finished in 0.375000 seconds!

map() 函数的经典应用:
#!/usr/bin/env python
lst01 = (2,4,6,8,9)
lst02 = (4,3,4,3,1)
print map((lambda x,y: x+y),lst01,lst02)
print map((lambda x,y: x-y),lst01,lst02)
print map((lambda x,y: x*y),lst01,lst02)
print map((lambda x,y: x/y),lst01,lst02)
print map((lambda x,y: x/2),lst01,lst02)
print map((lambda x,y: x**2),lst01,lst02)
print map((lambda x,y: x**y),lst01,lst02)
print map((lambda x,y: x+y+1),lst01,lst02)
print map((lambda x: x+1),lst01)
print map((lambda x: x+1),range(10))
print map((lambda x: chr(x)),range(65,80))
结果:
[6, 7, 10, 11, 10]
[-2, 1, 2, 5, 8]
[8, 12, 24, 24, 9]
[0, 1, 1, 2, 9]
[1, 2, 3, 4, 4]
[4, 16, 36, 64, 81]
[16, 64, 1296, 512, 9]
[7, 8, 11, 12, 11]
[3, 5, 7, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O']


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93470/showart_1871767.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP