abs(x)
返回值: 数值对象
常用于: 对整数/长整数/浮点数/负数求绝对值.复数的绝对值返回它的模
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ import cmath def main(): """Main function.""" cur_num = -1 cur_complex = cmath.sqrt(cur_num) # 其实返回的是复数模的绝对值 print abs(cur_complex) if __name__ == '__main__': main()
complex(real [,imag])
返回值: complex对象
常用于: 创建一个实数部分为real,虚数部分为imag的复数,或是将一个字符串/数字转换为复数,当字符串转换为复数时,字符串+/-两边不能有空白
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ def main(): """Main function.""" cur_strs = '0 + 1j' # 将字符串转换为复数 try: cur_complex = complex(cur_strs) except ValueError: cur_complex = complex(cur_strs.replace(' ', '')) print cur_complex if __name__ == '__main__': main()
divmod(x, y)
返回值: 元祖对象对象
常用于: 传入两个非复数,作为参数,返回商和余数的二元祖
float(x)
返回值: 浮点对象
常用于: 将字符串或是数字转换为浮点数
int(x[, base])
返回值: int/long对象
常用于: 将数字或是字符串X转换为整数或是长整数,X为浮点数则向0截断,如果超出整数返回则返回长整数对象,如果定义了base则X必须是字符串
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ def main(): """Main function.""" hex_num = '209' oct_num = '1011' # int进制转换时参数必须是字符串 print ('hex %s -> int %s\n' 'oct %s -> int %s') % (hex_num, int(hex_num, 16), oct_num, int(oct_num, 8)) if __name__ == '__main__': main()
long(x [,base] )
返回值: long对象
常用于: 将数字或是字符串X转换为长整数,X为浮点数则向0截断,如果定义了base则X必须是字符串
pow(x, y[, z])
返回值: 整型对象
常用于: 返回x的y次幂,如果提供z的化返回x的y次幂然后对z取模,比pow(x, y)%z更高效,pow(x, y)和x**y是等价的
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ import sys import os # 快速创建大文件 def create_bigfile(file_name, file_size, file_unit='G'): """Create a big file. Args: file_name: big file name file_size: big file size file_unit: big file unit Returns: None """ unit_dict = { 'k': pow(2, 10), 'm': pow(2, 20), 'g': pow(2, 30)} if file_unit.lower() not in unit_dict: sys.exit('Found Errors: %s not found in unit_dict keys.' % (file_unit)) file_unit = file_unit.lower() file_size *= unit_dict[file_unit] with open(file_name, 'w+b') as whandle: # 减去最后一个字符 whandle.seek(file_size-1) # 写入字符串结束符 whandle.write('\x00') # 根据文件大小转换单位 def convert_unit(file_size): """Convert file size unit. Args: file_size: the byte size of file Returns: str object """ convert_size = str(file_size) if file_size >= pow(2, 30): convert_size = '%sG' % int(file_size/pow(2, 30)) elif file_size >= pow(2, 20): convert_size = '%sM' % int(file_size/pow(2, 20)) elif file_size >= pow(2, 10): convert_size = '%sK' % int(file_size/pow(2, 10)) else: pass return convert_size def main(): """Main function.""" pt_format = '%-35s %s' # 创建大文件 file_name = 'xmdevops' create_bigfile(file_name, 10, 'G') # 打印测试 for cur_item in os.listdir(os.curdir): if cur_item.startswith('.'): continue file_size = os.path.getsize(cur_item) file_size = convert_unit(file_size) print pt_format % (file_size, cur_item) if __name__ == '__main__': main()
range(start, stop[, step])
返回值: 列表对象
常用于: 创建包含少量数列的列表,参数必须为普通的整数,step默认为1,start默认为0,产生的序列包含start不包含stop
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ def main(): """Main function.""" # 在内存中生成列表,大列表不推荐使用 cur_num = 10 generate_list = range(cur_num, 0, -1) print 'type -> %s' % (type(generate_list)) for cur_item in generate_list: print cur_item if __name__ == '__main__': main()
round(number[, ndigits])
返回值: 浮点数
常用于: 返回一个浮点型近似值,保留小数后ndigits位,如果省略则默认为0
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ def main(): """Main function.""" cur_float = 2.675 # 十进制小数无法用浮点数精确表示,所以如下结果为2.67而不是你想的2.68 print round(cur_float, 2) if __name__ == '__main__': main()
sum(sequence[, start])
返回值: 对象
常用于: sequence可以是任何可迭代对象,start表示初始值,返回序列对象的和,如果指定了start,则最后的和还要加上start的值
oct(x)
返回值: 字符串对象
常用于: 将任意尺寸整数X转换为八进制字符串,结果是一个合法的Python表达式
hex(x)
返回值: 字符串对象
常用于: 将任意尺寸的整数转换为0x/0X开头的十六进制字符串
chr(x)
返回值: 字符对象
常用于: 返回一个单字符字符串,字符的ASCII码为整数x,x的取值范围在[0..255]闭区间
bin(number)
返回值: 字符串对象
常用于: 将一个整数转换为一个二进制字符串,结果是一个合法的Python表达式,对于中文字符串要获取二进制可以先用binascii来转换为16进制再用bin转换为二进制
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ import binascii def main(): """Main function.""" cur_strs = '慧惠' # 生成位数表 bin_bits = (i*-8 for i in xrange(-8, 0, 1)) # 转换为16进制字符串 hex_strs = binascii.hexlify(cur_strs) # 转换为二进制字符串 bin_strs = bin(int(hex_strs, 16))[2:] bin_leng = len(bin_strs) # 填充位数 for bin_num in bin_bits: if bin_num % bin_leng >= 0: bin_strs.zfill(bin_num) break # 分段输出 for i in xrange(len(bin_strs)/8): print bin_strs[0+i*8: 8+i*8], if __name__ == '__main__': main()
bool(x)
返回值: 布尔对象
常用于: 将一个值转换为布尔值,真返回True,假返回False,bool其实是一个类,它是int的子类,bool无法被继承
# -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ def main(): """Main function.""" if issubclass(bool, int): print 'Found Notice: bools is int subclass!' if __name__ == '__main__': main()