python 常用转换函数

发布时间:2020-10-31编辑:脚本学堂
python 包含的模块和函数都非常丰富,但在目前版本里缺找不到十进制到二进制转化的现成函数,看到网友的一个关于二进制转化的小段,把它转过来,顺便也添加一些类似的函数,以备将来需要时查阅。

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)

小写字母转大写:string.upper()
大写字母转小写:string.lower()

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

其他类型的常用函数:
min() 函数返回给定参数的最小值,参数可以为序列。
max() 函数返回给定参数的最大值,参数可以为序列。
cmp() 函数比较x和y两个对象,并根据比较结果返回一个整数,如果x<y,则返回-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']