本文主要介紹了Python3 內置函數,分享給大家,具體如下:
內置函數

以下代碼以Python3.6.1為例
#coding=utf-8# builtin_function.py 內置函數import osdef fun(): all([True, False]) # 迭代器(為空or)所有元素為true,返回true => False any([True, False]) # 迭代器任意一個元素為true,返回true => True num = abs(-1.23) # 絕對值 num = pow(5, 3) # 冪次方 x**y =>125 num = pow(5, 3, 3) # 冪次方再取余 (x**y) % z => 2 num = round(1.23) # 返回浮點數近似值,默認保留0位,且四舍五入 num = round(1.23, 5) # 5為保留小數點后位數 num = sum([1, 2, 3, 4, 5]) # 對列表數字求和 strs = ascii(os) # 返回對象的ascii字符串形式 strs = bin(123) # 整數轉為二進制字符串(若被轉對象非int類型可在__index__里定義) boolean = bool(0) # 獲取真假(假:None / False / 任何類型的0 / 空""()[]{} / __bool__返回False / __len__返回0) bytes = bytearray("You were, are and will be in my heart!", "utf-8") # 字符串(字符串,編碼):按編碼轉為字節序列 / 數字(數字):生成相應大小的空數組 / 無參():0數組 bytes = bytes("You were, are and will be in my heart!", "utf-8") # 同bytearray(),但是不可變 strs = chr(123) # 整數(Unicode)轉為char類型(范圍[0, 1 114 111]) num = ord("{") # char類型轉為整數(Unicode) num = complex("1+2j") # 將字符串或數字轉為復數(不能含有空格) num = float('1.1') # 構建浮點數 strs = format(123,'f') # 格式化(類型:x,b,f... / 位移:>(>10),<,^ / 長度:5 / E) strs = hex(123) # 將整數轉為16進制字符串 strs = oct(123) # 十進制轉成8進制字符串 num = int(123.1) # 轉為整數 strs = str(123) # 將對象轉為字符串 strs = str(b"123", "utf-8") elem = max([1,2,3,4], [2,4,6]) # 可接收1個iterable,或多個元素 => [2, 4, 6] elem = max(1,2,3,4) # => 4 elem = max([1,2,3,4, 6], key = lambda x : x == 2) # => 2 elem = min(1,2,3,4) # 與max相反 exe = compile("print('O_O')", filename = 'strs', mode='exec') # 編譯為代碼, mode(編譯模式:可執行語句'exec',單個語句'eval',交互式語句'single') exec(exe) # 執行已編譯代碼 exec("print('O_O')") # 執行String未編譯代碼 eval(compile("print('O_O')", filename = 'strs', mode='eval')) # 不接受字符串類型 delattr(Clazz("Hello!"), "name") # 刪除某對象屬性 = del clazz.name 詳情見 類 文章的 反射 代碼塊(http://m.survivalescaperooms.com/article/128897.htm) setattr(Clazz("Hello!"), "name", "World!") # 給對象某屬性賦值 strs = getattr(Clazz("Hello!"), "name") # 獲取某個對象的屬性值 strs = getattr(Clazz("Hello!"), "name", -1) # -1為未找到屬性的返回 boolean = hasattr(Clazz("Hello!"), "name") # 該對象是否有該屬性 lists = dir(Clazz("Hello!")) # 查看函數 clazz = type(os) # 獲取類型 dicts = globals() # 獲取當前全局函數與對象 dicts = locals() # 獲取當前局部函數與對象 dicts = vars() # 同locals() (__dict__) dicts = vars(Clazz("Hello!")) num = hash(Clazz("Hello!")) # 獲取某對象的hash值 help(os) # 獲取某對象的幫助文檔 num = id(os) # 獲取某對象的id boolean = isinstance(Clazz("Hello!"), Clazz) # 對象是否是該類的實例 boolean = issubclass(Clazz, Clazz) # 該類(前)是否是該類(后)的子類(包括自己) strs = repr(os) # 將對象轉為字符串表達形式 # - super() # 代理父類對象,詳情見 類 文章(http://m.survivalescaperooms.com/article/88315.htm) # - memoryview(obj) # 內存視圖,詳解 數據結構 文章(http://m.survivalescaperooms.com/article/128892.htm) dics = dict() # 創建字典 tups = divmod(10, 5) # 返回元組,(商(10/5),余數(10%5)) lists = enumerate(['a', 'b', 'c']) # 返回枚舉對象 lists = filter(lambda x: True if (ord(x) > 66) else False, ['a', 'b', 'c']) # function為Frue保留,False移除 sets = frozenset([1, 2, 3]) # 返回新的frozenset對象(集合) num = len([1, 2, 3]) # 長度 lists = list((1, 'a')) # 轉為list類型 tups = tuple([1, 2, 3]) # 轉為tuple元組類型 ran = range(5) # 不可變序列 ran = range(0,5) ran = range(0,5,2) # (起始,結束,增加量) sets = set([1,2,3]) # 返回set集合 maps = map(lambda x, y: x*y, [1, 2, 3], [65, 66, 67, 68]) # 返回一個迭代器,元素通過自定義函數篩選,可接收多個iterable參數 => [65, 132, 201] iters = zip(["A", "B", "C", "D", "E", "F"], [1, 2, 3]) # 創建新的迭代器, 聚合每個迭代器元素 => [('A', 1), ('B', 2), ('C', 3)] iters = iter([1, 2, 3, 4, 5]) # 返回一個迭代器對象 elem = next(iters) # 從迭代器中獲取下個元素; 實現原理見 內置函數 文章 lis 塊代碼(http://m.survivalescaperooms.com/article/128890.htm) iters = reversed([1,2,3]) # 返回反向的遍歷器 => [3, 2, 1] lists = [1,2,3,4,5][slice(3)] # 切片 => [1, 2, 3] lists = [1,2,3,4,5][slice(1,3)] # [slice(3) == slice(None, 3, None) / slice(1,3) == slice(1, 3, None) / slice(1,3,1) == slice(1, 3, 1) lists = sorted([2,5,3,1,4]) # 排序 => [1, 2, 3, 4, 5] lists = sorted(['a','B',';','t','D','1'], key = lambda x : ord(x), reverse = True) # key:比較鍵的函數, reverse是否反向遍歷 strs = input("請輸入數據:") # 輸入數據 f = open("temp.txt", "r+") # 打開文件,詳情見os文章 print("字符串%d"%123) # 打印字符 => 字符串123 print("字","符", "串", sep="-") # sep為分隔 => 字-符-串 print("字","符", "串", sep="-", end="/r/n") # end為尾部 => 字-符-串/r/n print("字","符", "串", sep="-", end="/r/n", file=open("temp.txt","w+")) # 打印到文件class Clazz: def __init__(self, name): self.name = name; @classmethod # 將函數包裝成類方法 def setName_cls(cls, name): pass @staticmethod # 將函數包裝成靜態方法 def setName_sta(name): pass def getname(self): return self.name def setname(self, value): self.name = value def delname(self): del self.name # property(fget=None, fset=None, fdel=None, doc=None) # 返回一個property 屬性 # property 為屬性方法, 有兩種實現方式,詳情見 類 文章的 屬性方法代碼塊(http://m.survivalescaperooms.com/article/68235.htm) x = property(getname, setname, delname) if __name__ == "__main__": fun() # property 的使用 c = Clazz("柳巖") print(c.x) # => 柳巖 c.x = '湯唯' print(c.getname()) # => 湯唯 del c.x以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答