<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 中 10 個(gè)常用的內(nèi)置函數(shù)

          共 5776字,需瀏覽 12分鐘

           ·

          2021-02-26 12:24

          大家好,我是安果!

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

          數(shù)量雖然不少,但在日常搬磚中只用到其中一部分,根據(jù)使用頻率和用法,這里列出來(lái)幾個(gè)本人認(rèn)為不錯(cuò)的內(nèi)置函數(shù),結(jié)合一些例子介紹給大家

          complex()

          返回一個(gè)形如 a+bj 的復(fù)數(shù),傳入?yún)?shù)分為三種情況:

          • 參數(shù)為空時(shí),返回0j
          • 參數(shù)為字符串時(shí),將字符串表達(dá)式解釋為復(fù)數(shù)形式并返回
          • 參數(shù)為兩個(gè)整數(shù)(a,b)時(shí),返回 a+bj
          • 參數(shù)只有一個(gè)整數(shù) a 時(shí),虛部 b 默認(rèn)為0,函數(shù)返回 a+0j
          >>> complex('1+2j')
          (1+2j)
          >>> complex()
          0j
          >>> complex(1,2)
          (1+2j)
          >>> complex(2)
          (2+0j)

          dir()

          • 不提供參數(shù)時(shí),返回當(dāng)前本地范圍內(nèi)的名稱(chēng)列表
          • 提供一個(gè)參數(shù)時(shí),返回該對(duì)象包含的全部屬性
          >>> class Test:
           def first(self):
            return 1
           def second(self):
            return 2
          >>> dir(Test)# 提供參數(shù)時(shí)
          ['__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()# 未提供參數(shù)時(shí)
          ['Test''__annotations__''__builtins__''__doc__''__loader__''__name__''__package__''__spec__']

          divmod(a,b)

          • a -- 代表被除數(shù),整數(shù)或浮點(diǎn)數(shù);
          • b -- 代表除數(shù),整數(shù)或浮點(diǎn)數(shù);

          根據(jù) 除法運(yùn)算 計(jì)算 a,b 之間的商和余數(shù),函數(shù)返回一個(gè)元組(p,q) ,p 代表商 a//b ,q 代表余數(shù) a%b

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

          enumerate(iterable,start=0)

          • iterable -- 一個(gè)可迭代對(duì)象,列表、元組序列等
          • start -- 計(jì)數(shù)索引值,默認(rèn)初始為0

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

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

          eval(expression,globals,locals)

          • expression -- 字符串表達(dá)式
          • globals -- 變量作用,全局命名空間,如果提供必須為字典形式;可選參數(shù)
          • locals -- 變量作用域,局部命名空間,如果提須可為任何可映射對(duì)象;可選參數(shù)

          將字符串表達(dá)式解析,返回執(zhí)行結(jié)果

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

          filter(function,iterable)

          • function -- 提供篩選函數(shù)名,返回 true 或 false

          • iterable -- 列表、元組等可迭代對(duì)象

          函數(shù)返回 iterable 中滿(mǎn)足 function 為 True 的元素;假設(shè)有一個(gè)列表,我們只需要其中的一部分元素,這時(shí)就可以提前寫(xiě)一個(gè)函數(shù)再借助 filter 來(lái)進(jìn)行過(guò)濾

          >>> 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 --表示一個(gè)類(lèi)型的對(duì)象,若不是此類(lèi)型, 函數(shù)恒返回 False;
          • calssinfo -- 為一個(gè)類(lèi)型元組或單個(gè)類(lèi)型;

          判斷對(duì)象 object 的類(lèi)型是否為 classinfo 或 classinfo 中其中一個(gè)類(lèi)型,返回 True 或 False;

          調(diào)試Python程序時(shí),障礙之一就是初始變量沒(méi)有定義類(lèi)型,所以在代碼編寫(xiě)或者調(diào)試時(shí),isinstance() 函數(shù)常被用來(lái)判斷變量類(lèi)型,幫助我們了解程序整個(gè)邏輯防止出錯(cuò)

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

          map(function,iterable,...)

          • function -- 執(zhí)行函數(shù);
          • iterable -- 可迭代對(duì)象;

          將 iterable 中的每一個(gè)元素放入函數(shù) function 中依次執(zhí)行,得到與 iteable 元素?cái)?shù)量相同的迭代器;

          map() 中可迭代對(duì)象可以為多個(gè),其中函數(shù) function 中的參數(shù)為所有可迭代對(duì)象中并行元素,最終得到的迭代器的數(shù)量是以提供元素?cái)?shù)量最少可迭代對(duì)象為基準(zhǔn),當(dāng)數(shù)量最少的可迭代對(duì)象所有元素輸入完畢后即執(zhí)行停止

          >>> 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()

          函數(shù)用于人機(jī)交互,讀取從輸入端輸入的一行內(nèi)容,轉(zhuǎn)化為字符串

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

          zip(*iteables)

          • *iterables -- 兩個(gè)或兩個(gè)以上可迭代對(duì)象

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

          >>> 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() 函數(shù)功能等價(jià)于

          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 個(gè)之外,還有其它 59 個(gè)內(nèi)置函數(shù),想了解的小伙伴可點(diǎn)擊下方原文閱讀去了解

          對(duì)于 Python 開(kāi)發(fā)者來(lái)說(shuō),掌握這些內(nèi)置函數(shù)非常有用,一方面能提高編碼效率,另一方面也能提高代碼簡(jiǎn)潔性;在某一方面功能雖然沒(méi)有第三方庫(kù)函數(shù)強(qiáng)大,但也不能被小覷

          好了以上就是本篇文章的全部?jī)?nèi)容了,最后感謝大家閱讀,我們下期見(jiàn)~

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


          推薦閱讀

          覺(jué)得文章不錯(cuò),請(qǐng)分享給更多人~,比心~

          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产桃色视频这里只有精品 | 国产高清成人无码视频网址 | 一级黄色视频在线观看 | 怡红院爽妇网 | 激情五月天综合 |