最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python常用內(nèi)置函數(shù)的使用教程詳解

 更新時(shí)間:2023年04月03日 12:01:48   作者:Bytepearl  
Python官方文檔對(duì)于內(nèi)置函數(shù)的介紹較為簡(jiǎn)略,但這些內(nèi)置函數(shù)在日常工作中卻扮演著不可或缺的角色。這篇文章為大家介紹了Python常用內(nèi)置函數(shù)的使用,需要的可以參考一下

導(dǎo)言

Python官方文檔對(duì)于內(nèi)置函數(shù)的介紹較為簡(jiǎn)略,但這些內(nèi)置函數(shù)在日常工作中卻扮演著不可或缺的角色。為了更加便捷地使用和查閱這些函數(shù),筆者對(duì)它們的功能和特性進(jìn)行了系統(tǒng)整理和匯總,以便于后續(xù)的使用和深入研究,進(jìn)一步提升專業(yè)水平。

一、abs()

abs() 用于返回一個(gè)數(shù)的絕對(duì)值。

在python中,對(duì)于內(nèi)置類型的數(shù)值類型(int、float或complex),可以直接使用abs()函數(shù)來(lái)求其絕對(duì)值。但對(duì)于自定義類型的數(shù)值類型,如果想要使用abs()函數(shù)求其絕對(duì)值,就需要實(shí)現(xiàn)__abs__()方法。

abs()方法的實(shí)現(xiàn)方式也很簡(jiǎn)單,只需要在類中定義一個(gè)名稱為_(kāi)_abs__()的方法,并在其中返回該數(shù)的絕對(duì)值即可。例如:

class MyNumber:
    def __init__(self, num):
        self.num = num
    
    def __abs__(self):
        return abs(self.num)

n = MyNumber(-3)
print(abs(n))    # 輸出結(jié)果為:3

在上述代碼中,我們定義了一個(gè)名為MyNumber的類,其中包含一個(gè)num屬性,并實(shí)現(xiàn)了__abs__()方法。在__abs__()方法中,我們調(diào)用了abs()函數(shù)來(lái)求該數(shù)的絕對(duì)值。

最后,我們實(shí)例化了一個(gè)MyNumber對(duì)象,傳入了一個(gè)負(fù)數(shù)作為參數(shù)。然后,我們調(diào)用了abs()函數(shù)來(lái)計(jì)算MyNumber對(duì)象的絕對(duì)值,得到了3這個(gè)結(jié)果。

二、aiter()函數(shù)

aiter()asyncio 庫(kù)中的一個(gè)函數(shù),用于生成異步迭代器對(duì)象。Python3.10 新版本功能。

異步迭代器對(duì)象是一種可以異步遍歷的迭代器對(duì)象。通過(guò)異步迭代器,我們可以逐個(gè)異步獲取迭代器中的元素。

aiter() 接受一個(gè)可迭代對(duì)象作為參數(shù),并返回一個(gè)異步迭代器對(duì)象。異步迭代器對(duì)象是 AsyncIterator 類的實(shí)例。

以下是 aiter() 函數(shù)的基本語(yǔ)法:

asyncio.aiter(iterable, /)

其中,iterable 是一個(gè)可迭代對(duì)象,它可以是任何支持異步迭代的對(duì)象,如異步生成器、異步列表等。

使用異步迭代器時(shí),我們需要使用 async for 語(yǔ)句進(jìn)行異步迭代,如下所示:

async def my_func():
    async for i in my_async_iterable:
        print(i)

在上面的示例中,my_async_iterable 可以是通過(guò) aiter() 函數(shù)生成的異步迭代器對(duì)象,也可以是其它支持異步迭代的對(duì)象。

需要注意的是,在異步迭代器遍歷完之后,我們需要顯式關(guān)閉該異步迭代器對(duì)象,以釋放相應(yīng)的資源,如下所示:

async def my_func():
    async with aiter(my_async_iterable) as iter_obj:
        async for i in iter_obj:
            print(i) 

通過(guò) async with 語(yǔ)句建立一個(gè)異步上下文管理器,可以自動(dòng)關(guān)閉該異步迭代器。這種方式比較簡(jiǎn)潔,建議使用。

三、all()函數(shù)

用于判斷一個(gè)可迭代對(duì)象中的所有元素是否都為T(mén)rue。

語(yǔ)法格式如下:

all(iterable)

其中,iterable為可迭代對(duì)象,如列表、元組、集合、字符串等。

返回結(jié)果為布爾值,如果iterable中的所有元素都為T(mén)rue,則返回True,否則返回False。如果iterable為空,則返回True。

舉例:

>>> all([True, True, False, True])
False

>>> all([1, 2, 3, 4])
True

>>> all(('a', 'b', 'c'))
True

>>> all(['', [], {}])
False

以上示例中,第一個(gè)列表中有一個(gè)元素為False,因此返回False。第二個(gè)列表中所有元素都為非零數(shù)值,因此返回True。元組、列表都可以作為可迭代對(duì)象傳遞給all()函數(shù)。最后一個(gè)列表中都是空序列或字典,因此返回False。注意,空列表、元組、集合、字符串等都會(huì)返回True。

注意事項(xiàng):

  • 如果給定的可迭代對(duì)象中存在元素為False、0、''、None等等假值,all()函數(shù)也會(huì)返回False。
  • 可以使用any()函數(shù)判斷可迭代對(duì)象中是否存在至少一個(gè)為T(mén)rue的元素。

四、anext()

anext()是asyncio模塊中的一個(gè)函數(shù),用于從異步迭代器中獲取下一個(gè)值。如果異步迭代器已經(jīng)結(jié)束,anext()將引發(fā)StopAsyncIteration異常。Python3.10 新版本功能。

在asyncio中,異步迭代器(async iterator)定義為實(shí)現(xiàn)了__aiter__()和__anext__()方法的對(duì)象。aiter()方法返回迭代器對(duì)象自身,anext()方法返回下一個(gè)值,如果沒(méi)有更多的值可用,則引發(fā)StopAsyncIteration異常。

以下是一個(gè)使用anext()函數(shù)的示例:

import asyncio
async def async_generator(): yield 1 yield 2 yield 3
async def main(): ag = async_generator() try: while True:

        value = await asyncio.anext(ag)
        print(value)
except StopAsyncIteration:
    pass

asyncio.run(main())

上述代碼創(chuàng)建了一個(gè)異步生成器async_generator(),該生成器逐個(gè)返回1、2、3。在main()函數(shù)中,我們使用anext()函數(shù)從異步生成器中獲取下一個(gè)值,直到StopAsyncIteration異常被引發(fā)。在這個(gè)示例中,我們使用asyncio.run()函數(shù)運(yùn)行main()協(xié)程,該函數(shù)使用了Python3.7及以上版本的Python。

五、any()函數(shù)

用于判斷一個(gè)可迭代對(duì)象中是否存在至少一個(gè)元素滿足條件。該函數(shù)返回一個(gè)布爾值,如果存在一個(gè)元素滿足條件,則返回True,否則返回False。

下面是any()函數(shù)的語(yǔ)法格式:

any(iterable)

其中iterable是一個(gè)可迭代對(duì)象,例如列表、元組、集合或字典的鍵等等。

any()函數(shù)的工作原理如下:

  • 遍歷可迭代對(duì)象中的所有元素。
  • 對(duì)于每個(gè)元素,將其作為參數(shù)傳遞給判斷函數(shù),判斷函數(shù)返回True或False。
  • 如果存在任意一個(gè)元素使得判斷函數(shù)返回True,則返回True,并停止遍歷,否則返回False。

下面是一個(gè)示例,演示如何使用any()函數(shù)來(lái)判斷一個(gè)列表中是否存在奇數(shù):

lst = [2, 4, 6, 8, 9, 10]
result = any(x % 2 == 1 for x in lst)
print(result)

輸出:

True

在上面的示例中,我們使用生成器表達(dá)式來(lái)表達(dá)“是否存在奇數(shù)”這個(gè)條件。這個(gè)表達(dá)式對(duì)于lst中的每個(gè)元素x都執(zhí)行一次,如果x % 2 == 1返回True,則any()函數(shù)會(huì)立即返回True。因?yàn)?是lst中的一個(gè)奇數(shù),所以any()函數(shù)返回True。

除了列表,any()函數(shù)也適用于其他可迭代對(duì)象。例如,我們可以使用any()函數(shù)來(lái)檢查一個(gè)字符串中是否存在大寫(xiě)字母:

s = "Hello, World!"
result = any(c.isupper() for c in s)
print(result)

輸出:

True

在上面的示例中,我們使用字符串的isupper()方法來(lái)判斷每個(gè)字符是否為大寫(xiě)字母,如果存在任意一個(gè)字符是大寫(xiě)字母,則any()函數(shù)返回True。因?yàn)?quot;H"是一個(gè)大寫(xiě)字母,所以any()函數(shù)返回True。

在使用any()函數(shù)時(shí),需要注意以下幾點(diǎn):

  • 如果iterable為空,any()函數(shù)將返回False。
  • 如果iterable中的所有元素都為假值(例如0、空字符串或空列表),則any()函數(shù)將返回False。

六、ascii()函數(shù)

用于將給定字符串或?qū)ο蟮谋硎巨D(zhuǎn)換為ASCII碼。如果給定對(duì)象不是字符串,則會(huì)先將其轉(zhuǎn)換為ASCII碼表示。如果給定字符串中包含了非ASCII字符,則會(huì)使用Python的轉(zhuǎn)義序列來(lái)表示這些字符。

以下是ascii()函數(shù)的語(yǔ)法:

ascii(object)

其中,object是要轉(zhuǎn)換為ASCII碼表示的字符串或?qū)ο蟆?/p>

以下是ascii()函數(shù)的示例:

s = 'hello, 你好!'
print(ascii(s)) 
# 輸出: 'hello, \u4f60\u597d\uff01'

n = 1234
print(ascii(n)) 
# 輸出: '1234'

lst = [1, 2, 'hello', '你好']
print(ascii(lst)) 
# 輸出: '[1, 2, \'hello\', \'\\u4f60\\u597d\']'

在以上示例中,第一個(gè)示例中的字符串包含了一個(gè)非ASCII字符,因此在轉(zhuǎn)換為ASCII碼表示時(shí)使用了Python的轉(zhuǎn)義序列;第二個(gè)示例中的對(duì)象是一個(gè)整數(shù),因此可以直接轉(zhuǎn)換為ASCII碼表示;第三個(gè)示例中的對(duì)象是一個(gè)列表,其中包含了一個(gè)非ASCII字符串,因此在轉(zhuǎn)換為ASCII碼表示時(shí)使用了Python的轉(zhuǎn)義序列。

注意事項(xiàng)

  • ascii()函數(shù)只能處理字符串類型的輸入,對(duì)其他類型的對(duì)象(如數(shù)字、列表、元組、字典等)會(huì)引發(fā)TypeError異常。
  • ascii()函數(shù)只能處理ASCII字符以外的非ASCII字符,對(duì)于ASCII字符,它不做任何處理。(ASCII字符是指Unicode編碼為0~127的字符,包括所有的英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)和控制字符。)
  • ascii()函數(shù)返回的ASCII碼表示是一個(gè)字符串,如果需要使用對(duì)應(yīng)的Unicode碼,可以使用Python內(nèi)置的ord()函數(shù)。

到此這篇關(guān)于Python常用內(nèi)置函數(shù)的使用教程詳解的文章就介紹到這了,更多相關(guān)Python常用內(nèi)置函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python——全排列數(shù)的生成方式

    python——全排列數(shù)的生成方式

    今天小編就為大家分享一篇python——全排列數(shù)的生成方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python函數(shù)的作用域及內(nèi)置函數(shù)詳解

    Python函數(shù)的作用域及內(nèi)置函數(shù)詳解

    這篇文章主要介紹了python函數(shù)的作用域及內(nèi)置函數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • python編程Flask框架簡(jiǎn)單使用教程

    python編程Flask框架簡(jiǎn)單使用教程

    這篇文章主要為大家介紹了python編程中Flask框架簡(jiǎn)單使用教程,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • python實(shí)現(xiàn)感知機(jī)線性分類模型示例代碼

    python實(shí)現(xiàn)感知機(jī)線性分類模型示例代碼

    這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)感知機(jī)線性分類模型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python面向?qū)ο蟪绦蛟O(shè)計(jì)類的封裝與繼承用法示例

    Python面向?qū)ο蟪绦蛟O(shè)計(jì)類的封裝與繼承用法示例

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)類的封裝與繼承用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中類的封裝、繼承相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • Python socket非阻塞模塊應(yīng)用示例

    Python socket非阻塞模塊應(yīng)用示例

    這篇文章主要介紹了Python socket非阻塞模塊,結(jié)合實(shí)例形式分析了Python socket非阻塞模塊通信相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • tensorflow下的圖片標(biāo)準(zhǔn)化函數(shù)per_image_standardization用法

    tensorflow下的圖片標(biāo)準(zhǔn)化函數(shù)per_image_standardization用法

    這篇文章主要介紹了tensorflow下的圖片標(biāo)準(zhǔn)化函數(shù)per_image_standardization用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python多進(jìn)程分塊讀取超大文件的方法

    Python多進(jìn)程分塊讀取超大文件的方法

    這篇文章主要介紹了Python多進(jìn)程分塊讀取超大文件的方法,涉及Python多進(jìn)程操作與文件分塊讀取的相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • Python+OpenCV實(shí)現(xiàn)黑白老照片上色功能

    Python+OpenCV實(shí)現(xiàn)黑白老照片上色功能

    我們都知道,有很多經(jīng)典的老照片,受限于那個(gè)時(shí)代的技術(shù),只能以黑白的形式傳世。盡管黑白照片別有一番風(fēng)味,但是彩色照片有時(shí)候能給人更強(qiáng)的代入感。本文就來(lái)用Python和OpenCV實(shí)現(xiàn)老照片上色功能,需要的可以參考一下
    2023-02-02
  • 基于python實(shí)現(xiàn)操作redis及消息隊(duì)列

    基于python實(shí)現(xiàn)操作redis及消息隊(duì)列

    這篇文章主要介紹了基于python操作redis及消息隊(duì)列,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論

祁连县| 新蔡县| 龙南县| 安吉县| 平乡县| 精河县| 陇川县| 札达县| 晋城| 金寨县| 普定县| 遂宁市| 万宁市| 永胜县| 凤山县| 楚雄市| 惠来县| 龙南县| 昌图县| 左权县| 抚宁县| 泸水县| 阳新县| 昆山市| 仲巴县| 榆中县| 潮州市| 锡林浩特市| 南宫市| 巴东县| 集安市| 大邑县| 额济纳旗| 千阳县| 鄂伦春自治旗| 会同县| 闻喜县| 十堰市| 昆明市| 万荣县| 宁安市|