abs(x) python
返回值: 數值對象git
經常使用於: 對整數/長整數/浮點數/負數求絕對值.複數的絕對值返回它的模測試
# -*- 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])spa
返回值: complex對象.net
經常使用於: 建立一個實數部分爲real,虛數部分爲imag的複數,或是將一個字符串/數字轉換爲複數,當字符串轉換爲複數時,字符串+/-兩邊不能有空白code
# -*- 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)orm
返回值: 元祖對象對象對象
經常使用於: 傳入兩個非複數,做爲參數,返回商和餘數的二元祖繼承
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()