0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python入門之函數(shù)屬性

jf_78858299 ? 來源:人工智能知識分享 ? 作者:人工智能知識分享 ? 2023-02-21 14:22 ? 次閱讀

由于函數(shù)是對象,所以函數(shù)比我們所預(yù)料的更靈活。例如,一旦我們創(chuàng)建一個(gè)函數(shù),可以像往常一樣調(diào)用它:


>>>def func(a):

... b = 'spam'

... return b * a

...

>>>func(8)

'spamspamspamspamspamspamspamspam'

我們也可以通用地檢查它們的屬性(如下代碼在Python 3.0中運(yùn)行,但是Python 2.6中的結(jié)果是類似的):


>>>func.__name__

'func'

>>>dir(func)

['__annotations__','__call__','__class__','__closure__','__code__',

...more omitted...

'__repr__','__setattr__','__sizeof__','__str__','__subclasshook__']

其中一些屬性還提供了函數(shù)的本地變量和參數(shù)等方面的細(xì)節(jié):


>>>func.__code__




>>>dir(func.__code__)

['__class__','__delattr__','__doc__','__eq__','__format__','__ge__',

...more omitted...

'co_argcount','co_cellvars','co_code','co_consts','co_filename',

'co_firstlineno','co_flags','co_freevars','co_kwonlyargcount','co_lnotab',

'co_name','co_names','co_nlocals','co_stacksize','co_varnames']




>>>func.__code__.co_varnames

('a','b')

>>>func.__code__.co_argcount

1

工具編寫者可以利用這些信息來管理函數(shù)。

函數(shù)對象不僅限于前面列出的系統(tǒng)定義的屬性。我們也可以向函數(shù)附加任意的用戶定義的屬性:


>>>func



>>>func.count = 0

>>>func.count += 1

>>>func.count

1

>>>func.handles = 'Button-Press'

>>>func.handles

'Button-Press'

>>>dir(func)

['__annotations__','__call__','__class__','__closure__','__code__',...more omitted...

__str__','__subclasshook__','count','handles']

這樣的屬性可以用來直接把狀態(tài)信息附加到函數(shù)對象,而不必使用全局、非本地和類等其他技術(shù)。和非本地不同,這樣的屬性可以在函數(shù)自身的任何地方訪問。從某種意義上講,這也是模擬其他語言中的“靜態(tài)本地變量”的一種方式——這種變量的名稱對于一個(gè)函數(shù)來說是本地的,但是,其值在函數(shù)退出后仍然保留。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1916

    瀏覽量

    34378
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61967
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84077
收藏 人收藏

    評論

    相關(guān)推薦

    Python入門】SQLAlchemy的使用

    Python入門】44數(shù)據(jù)庫 使用SQLAlchemy
    發(fā)表于 04-09 15:19

    深度學(xué)習(xí)入門基于python的理論與實(shí)現(xiàn)

    深度學(xué)習(xí)入門-基于python的理論與實(shí)現(xiàn)(2)
    發(fā)表于 06-19 11:22

    Python入門36常用第三方模塊獲取系統(tǒng)信息psutil

    Python入門】36常用第三方模塊 獲取系統(tǒng)信息psutil
    發(fā)表于 07-16 06:31

    Python機(jī)器學(xué)習(xí)入門pandas的使用提示

    系列文章目錄提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動(dòng)添加例如:第一章 Python 機(jī)器學(xué)習(xí)入門pandas的使用提示:寫完文章后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助
    發(fā)表于 08-13 07:36

    python類的多態(tài)和類的property屬性

    property ,其實(shí)是 Python 中一個(gè)內(nèi)置的裝飾器,它可以在新式類中把一個(gè)函數(shù) 改造 成屬性。當(dāng)你讀取屬性值時(shí),會進(jìn)入被 property 裝飾的
    發(fā)表于 03-09 16:38

    python基礎(chǔ)教程實(shí)例python基礎(chǔ)入門100例程序分享

    包含了100個(gè)python入門的小例子,包括了基礎(chǔ)語法,數(shù)據(jù)結(jié)構(gòu),控制流,類繼承等基礎(chǔ)知識的訓(xùn)練和,很適合入門的同學(xué)鞏固基礎(chǔ)知識。
    發(fā)表于 09-08 17:17 ?51次下載

    C語言入門教學(xué)函數(shù)資料總結(jié)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語言入門教學(xué)函數(shù)資料總結(jié)免費(fèi)下載內(nèi)容包括了:1 庫函數(shù)2 函數(shù)的定義和返回值3
    發(fā)表于 10-23 17:53 ?3次下載

    python入門書籍推薦

    本視頻主要詳細(xì)介紹了python入門書籍推薦,分別是python入門書籍推薦、笨辦法學(xué)Python、Py
    的頭像 發(fā)表于 12-27 16:42 ?3.3w次閱讀

    Python經(jīng)典入門教程

    Python的經(jīng)典入門教程資料分享。
    發(fā)表于 06-01 10:25 ?116次下載

    華為開發(fā)者HarmonyOS零基礎(chǔ)入門屬性函數(shù)布局變量

    華為開發(fā)者HarmonyOS零基礎(chǔ)入門屬性函數(shù)布局變量添加播放按鈕,指定框高實(shí)現(xiàn)具體效果。
    的頭像 發(fā)表于 10-23 10:19 ?982次閱讀
    華為開發(fā)者HarmonyOS零基礎(chǔ)<b class='flag-5'>入門</b>:<b class='flag-5'>屬性</b><b class='flag-5'>函數(shù)</b>布局變量

    Python編程入門》.pdf

    Python編程入門》.pdf
    發(fā)表于 02-11 16:03 ?0次下載

    簡述python空類和實(shí)例屬性賦值

    python類主體沒有任何內(nèi)容,只有pass語句,稱為空類。 ## 1.2 obj.attr屬性賦值 通過obj.attr=value進(jìn)行類和實(shí)例屬性賦值。
    的頭像 發(fā)表于 02-21 10:30 ?911次閱讀

    Python系列學(xué)習(xí)筆記函數(shù)注解

    Python 3.0中,可以給函數(shù)對象附加注解信息。這些信息會附加到函數(shù)對象的__annotations__屬性。 如下是一個(gè)不帶注解的函數(shù)
    的頭像 發(fā)表于 02-21 10:34 ?549次閱讀

    Python入門什么是函數(shù)

    Python函數(shù)比我們想象的更為靈活。由于Python函數(shù)是對象,所以函數(shù)對象可以賦值給其他的名字、傳遞給其他
    的頭像 發(fā)表于 02-21 14:24 ?425次閱讀

    Python 函數(shù)參數(shù)分類

    今天給大家分享一下自己整理的一篇 Python 參數(shù)的內(nèi)容,內(nèi)容非常的干,全文通過案例的形式來理解知識點(diǎn),自認(rèn)為比網(wǎng)上 80% 的文章講的都要明白,如果你是入門不久的 python 新手,相信本篇
    的頭像 發(fā)表于 10-21 10:45 ?515次閱讀