Python中10個常用的內置函數

2021-03-02 小張Python

大家好,我是小張

在 3.8 版本中,Python 解釋器有近 69 個內置函數可供使用,有了它們能極大地提高編碼效率,

數量雖然不少,但在日常搬磚中只用到其中一部分,根據使用頻率和用法,這裡列出來幾個本人認為不錯的內置函數,結合一些例子介紹給大家

complex()

返回一個形如 a+bj 的複數,傳入參數分為三種情況:

參數為字符串時,將字符串表達式解釋為複數形式並返回參數只有一個整數 a 時,虛部 b 默認為0,函數返回 a+0j
>>> complex('1+2j')
(1+2j)
>>> complex()
0j
>>> complex(1,2)
(1+2j)
>>> complex(2)
(2+0j)

dir()
>>> class Test:
 def first(self):
  return 1
 def second(self):
  return 2
>>> dir(Test)# 提供參數時
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'first', 'second']
>>> dir()# 未提供參數時
['Test', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']

divmod(a,b)

根據 除法運算 計算 a,b 之間的商和餘數,函數返回一個元組(p,q) ,p 代表商 a//b ,q 代表餘數 a%b

>>> divmod(21,4)
(5, 1)
>>> divmod(20.1,3)
(6.0, 2.1000000000000014)

enumerate(iterable,start=0)iterable -- 一個可迭代對象,列表、元組序列等

該函數返回枚舉對象是個迭代器,利用 next() 方法依次返回元素值,每個元素以元組形式存在,包含一個計數元素(起始為 start )和 iterable 中對應的元素值;

>>> stu = ['xiao','zhang','li','qian']
>>> enumerate(stu)
<enumerate object at 0x0000025331773F48>
>>> list(enumerate(stu))# 默認start = 0
[(0, 'xiao'), (1, 'zhang'), (2, 'li'), (3, 'qian')]
>>> list(enumerate(stu,start = 1))# 默認start = 1
[(1, 'xiao'), (2, 'zhang'), (3, 'li'), (4, 'qian')]

eval(expression,globals,locals)globals -- 變量作用,全局命名空間,如果提供必須為字典形式;可選參數locals -- 變量作用域,局部命名空間,如果提須可為任何可映射對象;可選參數

將字符串表達式解析,返回執行結果

>>> eval("2+2")
4
>>> eval("2==2")
True

filter(function,iterable)

function -- 提供篩選函數名,返回 true 或 false

函數返回 iterable 中滿足 function 為 True 的元素;假設有一個列表,我們只需要其中的一部分元素,這時就可以提前寫一個函數再藉助 filter 來進行過濾

>>> num_list = list(range(20))
>>> num_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> def mod_three(num):
 if(num%3==0):
  return True
 else:
  return False

>>> filter(mod_three,num_list)
<filter object at 0x00000253315A6608>
>>> list(filter(mod_three,num_list))
[0, 3, 6, 9, 12, 15, 18]

isinstance(object,classinfo)object --表示一個類型的對象,若不是此類型, 函數恆返回 False;calssinfo -- 為一個類型元組或單個類型;

判斷對象 object 的類型是否為 classinfo 或 classinfo 中其中一個類型,返回 True 或 False;

調試Python程序時,障礙之一就是初始變量沒有定義類型,所以在代碼編寫或者調試時,isinstance() 函數常被用來判斷變量類型,幫助我們了解程序整個邏輯防止出錯

>>> isinstance(num,str)
False
>>> isinstance(num,int)
True

map(function,iterable,...)

將 iterable 中的每一個元素放入函數 function 中依次執行,得到與 iteable 元素數量相同的迭代器;

map() 中可迭代對象可以為多個,其中函數 function 中的參數為所有可迭代對象中並行元素,最終得到的迭代器的數量是以提供元素數量最少可迭代對象為基準,當數量最少的可迭代對象所有元素輸入完畢後即執行停止

>>> def fun_a(a,b):
 return a+2*b

>>> num_list1 = [1,2,3,4]
>>> num_list2 = [2,3,4,5]
>>> list(map(fun_a,num_list1,num_list2))
[5, 8, 11, 14]

input()

函數用於人機互動,讀取從輸入端輸入的一行內容,轉化為字符串

>>> s = input('input:')
input:小張Pyhon
>>> s
'小張Pyhon'

zip(*iteables)*iterables -- 兩個或兩個以上可迭代對象

將所有 iterable 對象中元素按參數順序以元素並行方式聚合在一起,得到一個迭代器,迭代器中每個元素是個n元素元組,n 表示函數中輸入 iterable 參數數量

>>> num_list1 = [1,2,3,4]
>>> num_list2 = [2,3,1,2]
>>> list(zip(num_list1,num_list2))
[(1, 2), (2, 3), (3, 1), (4, 2)]

zip() 函數功能等價於

def zip(*iterables):
    # zip('ABCD', 'xy') --> Ax By
    sentinel = object()
    iterators = [iter(it) for it in iterables]
    while iterators:
        result = []
        for it in iterators:
            elem = next(it, sentinel)
            if elem is sentinel:
                return
            result.append(elem)
        yield tuple(result)

除了上面列舉的 10 個之外,還有其它 59 個內置函數,想了解的小夥伴可點擊下方原文閱讀,對於Python開發者來說掌握這些內置函數非常有用,一方面能提高編碼效率,另一方面也能提高代碼簡潔性;在某一方面功能雖然沒有第三方庫函數強大,但也不能被小覷。

好了以上就是本篇文章的全部內容了,最後感謝大家閱讀,我們下期見~

參考:https://docs.python.org/3.8/library/functions.html#zip

相關焦點

  • Python 中 10 個常用的內置函數
    在 3.8 版本中,Python 解釋器有近 69 個內置函數可供使用,有了它們能極大地提高編碼效率數量雖然不少,但在日常搬磚中只用到其中一部分,根據使用頻率和用法,這裡列出來幾個本人認為不錯的內置函數,結合一些例子介紹給大家complex()
  • Python中有哪些內置函數呢?以及內置函數實例
    >Python中有哪些內置函數呢?常見簡單內置函數:len 求長度min 求最小值max 求最大值sorted 排序reversed 反向sum 求和高級內置函數enumerate 返回一個可以枚舉的對象eval 取出 字符串中的內容,將字符串str當成有效的表達式來求指並返回計算結果exec 執行字符串或complie方法編譯過的字符串
  • Python內置函數一覽表
    內置函數和標準庫函數是不一樣的。Python 解釋器也是一個程序,它給用戶提供了一些常用功能,並給它們起了獨一無二的名字,這些常用功能就是內置函數。Python 解釋器啟動以後,內置函數也生效了,可以直接拿來使用。Python 標準庫相當於解釋器的外部擴展,它並不會隨著解釋器的啟動而啟動,要想使用這些外部擴展,必須提前導入。
  • 為什麼說python內置函數並不是萬能的?
    對於新手來說,這有一定的可能會發生意想不到的情況(內置函數有 69 個,要全記住是有難度的)。那麼,為什麼python 不把所有內置函數的名稱都設為不可複寫的關鍵字呢?一方面原因是它想控制關鍵字的數量,另一方面可能是想留給用戶更多的自由。內置函數只是解釋器的推薦實現而已,開發者可以根據需要,實現出與內置函數同名的函數。
  • python中str內置函數用法總結
    大家在使用python的過程中,應該在敲代碼的時候經常遇到str內置函數,為了防止大家搞混,本文整理歸納了str內置函數。
  • python的內置函數:int()轉換成整型
    前言在Java中有強制類型轉換,我們可以利用Integer.parseInt()將一個對象轉換成int類型。在python中是利用內置函數int()來將一個對象轉換成整型。python的內置函數int的使用1.內置函數int()語法classint(x,base=10),其中x為一個字符串或數字,base來表示x是以什麼進位的數據來表示的。
  • Python 函數合集:足足 68 個內置函數請收好
    python給你提供的, 拿來直接用的函數,比如print.截止到python版本3.6.2 python一共提供了68個內置函數。#68個內置函數# abs()   dict()   help()   min()   setattr()# all()   dir()   hex()   next()   slice() # any()   divmod
  • Python 69個內置函數分8類總結,這樣記更方便!
    >內置函數Python3解釋器中內置了69個常用函數,屬於底層的函數,它們到處可用。1 類型相關69個內置函數中,與類型相關的指,把入參包裝為某種類型,這樣的內置函數包括:bool()  #d布爾型int()  #d整形str()  #d字符型tuple() #d元包型dict() #d字典型list() #d列表型
  • 柳小白Python學習筆記 8 函數(function)之內置函數
    函數是組織好的,可重複使用的,用來實現單一或相關聯功能的代碼段。python提供了很多內置函數,當然我們也可以自定義函數。今天主要學習一些內置函數的用法。python裡內置了很多函數,這些函數可以直接調用。
  • python教程:3個非常有用的內置函數
    這三個內置函數還是非常有用的,在工作中用的還不少,順手,下面一一進行介紹*版本中是直接返回list的,但在python3.
  • Python 函數合集:足足 68 個內置函數,請收好
    python給你提供的, 拿來直接用的函數,比如print.截止到python版本3.6.2 python一共提供了68個內置函數。#68個內置函數# abs()   dict()   help()   min()   setattr()# all()   dir()   hex()   next()   slice() # any()   divmod
  • python 內置函數
    列舉部分python內置函數描述abs() 函數返回數字的絕對值
  • python eval()內置函數
    python有一個內置函數eval(),可以將字符串進行運行。
  • python內置函數format的使用方法
    前言其實在Java中,我們已經解除過format的使用,例如:當我們要把昨天的訂單金額統計後顯示到前臺時,由於資料庫存儲的是double格式的數據,在統計完昨天的訂單金額後仍然是double類型的數據,但是,之前遇到過此類問題的小夥伴都知道,這個訂單額有時候會喪失精度,變成一個很長的
  • Python 中常用的魔術方法
    博客地址:zhihu.com/people/zarten概述python中特殊方法(魔術方法)是被python解釋器調用的,我們自己不需要調用它們,我們統一使用內置函數來使用。例如:特殊方法__len__()實現後,我們只需使用len()方法即可;也有一些特殊方法的調用是隱式的,例如:for i in x: 背後其實用的是內置函數iter(x)。下面將介紹一些常用特殊方法和實現。
  • Python 常用函數總結
    1.常用內置函數:(不用import就可以直接使用)   help(obj) 在線幫助, obj可是任何類型   callable
  • Python 3.x中內置函數range()函數的用法
    range()是Python開發中非常常用的一個內置函數,語法格式為range([start,] end [, step] ),有range(stop
  • python(內置函數, 模塊)打補丁, 兼容py2、3
    py2官方已不在維護, 所以將項目升級到py3, 但是項目也不是一行兩行的事, 並且項目還在使用, 所以必須要兼容py2, 升級到py3  所以就有了以下常見問題, 比如, py2的內置函數py3已不使用, py2的內置模塊py3已經改名....
  • python的內置函數:sum求和函數
    前言看到sum,我們就知道這是一個求和函數,無論是java、javascript還是mysql中,求和是簡單的,但在python中,可以進行一些複雜的元組求和,具體是怎樣的呢?python中的sum求和函數1.sum的使用語法sum(iterable[, start]) iterable -- 可迭代對象,如:列表、元組、集合。
  • Python中的map函數
    軟硬體環境anaconda3 with python 3.7簡介map是python中的一個內置函數