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()
来源:oschina
链接:https://my.oschina.net/u/2612057/blog/618205