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

簡單瞅瞅Python vars()內(nèi)置函數(shù)的實(shí)現(xiàn)

 更新時(shí)間:2019年09月27日 09:13:18   作者:王尼瑪  
這篇文章主要介紹了簡單瞅瞅Python vars()內(nèi)置函數(shù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

0.偶然間看到一個(gè)奇怪的現(xiàn)象

>>> x = 1
>>> a = var()
>>> a['x']
1

這是啥操作??用help(vars)之后,我才知道......

>>> help(vars)
Help on built-in function vars in module builtins:

vars(...)
  vars([object]) -> dictionary
  
  Without arguments, equivalent to locals().
  With an argument, equivalent to object.__dict__.

如果,沒傳入?yún)?shù)就將相當(dāng)于locals(),嗨,我還以為什么語法糖呢......

不知道locals()的老鐵們,可以先自己試一試,之后會寫

1.vars()走起

vars() 函數(shù)返回參數(shù)對象object的屬性和屬性值的字典對象

實(shí)際上調(diào)用了對象內(nèi)部定義的__dict__屬性

可以試試:

>>> vars(1)
TypeError: vars() argument must have __dict__ attribute

由于1這個(gè)對象沒有__dict__ 屬性,所以報(bào)錯(cuò)

當(dāng)然,如果參數(shù)為空則相當(dāng)于調(diào)用locals()函數(shù)

我們做個(gè)試驗(yàn):

 class xx:
  def __init__(self):
    self.__dict__ = {'':'我是變量__dict__'}

接下來調(diào)用此類:

>>> a = xx()
>>> vars(a)
{'': '我是變量__dict__'}

沒錯(cuò)吧,返回的是該對象的__dict__屬性

簡單說一下__dict__:

類的靜態(tài)函數(shù)、類函數(shù)、普通函數(shù)、全局變量以及一些內(nèi)置的屬性都是放在類的__dict__里

一些內(nèi)置的數(shù)據(jù)類型是沒有__dict__屬性的(可以嘗試下 vars('我沒有__dict__屬性')這個(gè)語句)

2.總結(jié)

  • vars()在沒有傳入?yún)?shù)的時(shí)候,相當(dāng)于調(diào)用locals()
  • 若傳入自定義類的對象,則返回對象的__dict__屬性,大多數(shù)自定義類會隱式創(chuàng)建__dict__屬性
  • 若傳入一些內(nèi)置的數(shù)據(jù)類型,則由于其沒有__dict__屬性,會報(bào)錯(cuò):TypeError: vars() argument must have __dict__ attribute

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python爬蟲實(shí)戰(zhàn)steam加密逆向RSA登錄解析

    python爬蟲實(shí)戰(zhàn)steam加密逆向RSA登錄解析

    今天帶來爬蟲實(shí)戰(zhàn)的文章。在挑選游戲的過程中感受學(xué)習(xí),讓你突飛猛進(jìn)。本文主要實(shí)現(xiàn)用Python逆向登錄世界上最大的游戲平臺源碼分享,了解steam加密手段有多高明
    2021-10-10
  • PyQt彈出式對話框的常用方法及標(biāo)準(zhǔn)按鈕類型

    PyQt彈出式對話框的常用方法及標(biāo)準(zhǔn)按鈕類型

    這篇文章主要為大家詳細(xì)介紹了PyQt彈出式對話框的常用方法及標(biāo)準(zhǔn)按鈕類型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Python項(xiàng)目管理的利器Poetry的使用

    Python項(xiàng)目管理的利器Poetry的使用

    在?Python?項(xiàng)目開發(fā)中,包管理、依賴管理和虛擬環(huán)境的創(chuàng)建一直是開發(fā)者們經(jīng)常面對的難題,本文主要介紹了Python項(xiàng)目管理的利器Poetry的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-04-04
  • PIL圖像處理模塊paste方法簡單使用詳解

    PIL圖像處理模塊paste方法簡單使用詳解

    這篇文章主要介紹了PIL圖像處理模塊paste方法簡單使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)現(xiàn)對adb命令封裝

    Python實(shí)現(xiàn)對adb命令封裝

    這篇文章主要介紹了Python實(shí)現(xiàn)對adb命令封裝,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python matplotlib 注釋文本箭頭簡單代碼示例

    python matplotlib 注釋文本箭頭簡單代碼示例

    這篇文章主要介紹了python matplotlib 注釋文本箭頭簡單代碼示例,具有一定借鑒價(jià)值。
    2018-01-01
  • python利用dir函數(shù)查看類中所有成員函數(shù)示例代碼

    python利用dir函數(shù)查看類中所有成員函數(shù)示例代碼

    這篇文章主要給大家介紹了關(guān)于python如何利用dir函數(shù)查看類中所有成員函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)下吧。
    2017-09-09
  • python 解析html之BeautifulSoup

    python 解析html之BeautifulSoup

    項(xiàng)目里需要解析html,采用python語言實(shí)現(xiàn),發(fā)現(xiàn)了BeautifulSoup這個(gè)好用的東西,寫了一個(gè)程序,可能大家不知道,干什么用的,目的是讓大家知道如何使用 BeautifulSoup 當(dāng)然我這個(gè)是用都是很初級的,高級的使用,偶也沒有學(xué)會呢,太高深了
    2009-07-07
  • 深入分析python數(shù)據(jù)挖掘 Json結(jié)構(gòu)分析

    深入分析python數(shù)據(jù)挖掘 Json結(jié)構(gòu)分析

    這篇文章通過實(shí)例給大家分析總結(jié)了python數(shù)據(jù)挖掘以及Json結(jié)構(gòu)分析的相關(guān)知識點(diǎn),對此有興趣的朋友參考下。
    2018-04-04
  • calendar在python3時(shí)間中常用函數(shù)舉例詳解

    calendar在python3時(shí)間中常用函數(shù)舉例詳解

    這篇文章主要介紹了calendar在python3時(shí)間中常用函數(shù)的相關(guān)文章,對此知識點(diǎn)有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11

最新評論

泽库县| 蓬莱市| 杭锦后旗| 精河县| 方城县| 高雄县| 吉木萨尔县| 凤阳县| 绩溪县| 松滋市| 乐平市| 芜湖县| 黑河市| 定远县| 阳高县| 景东| 鹤峰县| 麻城市| 延津县| 新郑市| 平潭县| 辽阳县| 油尖旺区| 雷山县| 日照市| 东乌珠穆沁旗| 柞水县| 桃江县| 张掖市| 石渠县| 开原市| 文登市| 盐津县| 太和县| 浏阳市| 东方市| 泊头市| 英山县| 兴业县| 米泉市| 盐池县|