<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      Python:函數與方法

      0
      分享至

      在 Python 編程中,函數(function)與方法(method)是兩個緊密相關但語義不同的可調用對象。二者在表面語法上十分接近,但在 Python 對象模型、描述符協議以及面向對象設計中具有本質差異。理解函數與方法之間的關系,是深入掌握 Python 面向對象系統的關鍵。

      一、基本概念:函數與方法的本質

      (1)函數:獨立的可調用對象

      在 Python 中,函數是一等對象(first-class object)。其本質是一個封裝了可執行代碼塊的對象,能夠被引用、存儲、傳遞并調用。

      函數的典型特征包括:

      ? 定義位置獨立:可定義在模塊級、類體外、類體內、函數內部(閉包)。

      ? 調用方式獨立:函數對象本身不會隱式接收調用者。

      ? 狀態獨立:不依賴特定實例或類的狀態(除非顯式訪問)。

      示例:

          return width * height

      (2)方法:函數經描述符綁定后形成的運行時對象

      在類體內用 def 定義的對象首先是函數對象。但由于函數對象實現了 __get__ 描述符協議,當它通過實例或類訪問時,會被轉換為不同形式的綁定方法對象。

      方法的本質是:

      ? 由定義在類體內的函數通過描述符機制在訪問時生成的運行時對象(method object)。

      ? 綁定目標不同,則方法種類不同。

      常見方法類型:

      ? 實例方法:經實例訪問后形成,綁定目標為實例。

      ? 類方法:綁定目標為類對象。

      ? 靜態方法:不進行綁定。

      示例:

      print(type(rect.area))         #

      area 在類體內是一個函數;rect.area 則是一個綁定方法對象。

      二、函數與方法的主要差異

      (1)定義位置與命名空間

      函數可以定義在任何作用域。

      在類體內定義的函數不會立刻變成方法,它只是類命名空間中的一個函數對象。

      方法是訪問函數時根據描述符協議生成的運行時對象。

      (2)參數綁定機制

      函數調用時,參數需通過某種方式提供,例如:

      calculate_area(3, 4)

      實例方法的調用語義為:

      rect.area()  # 語義:Rectangle.area.__get__(rect, Rectangle)() ?  Rectangle.area(rect)

      注意:

      不是解釋器自動傳 self,而是綁定方法對象在調用時將綁定目標作為第一個參數傳入原始函數。

      類方法同理,只是綁定目標為類對象。

      靜態方法不進行綁定。

      (3)設計角色不同

      函數:提供與對象狀態無關的通用功能。

      方法:封裝對象的行為,體現面向對象模型。

      三、方法的三種形式與描述符機制

      3.1 方法的三種形式

      Python 支持三種類型的方法,每種都有特定的用途和調用方式。

      (1)實例方法(Instance Method)

              return self.balance

      ? 通過實例訪問時變為綁定方法,自動傳入 self。

      ? 通過類訪問時返回原始函數,需要顯式傳入實例。

      (2)類方法(Class Method)

              return cls.population

      ? 始終綁定類對象為第一個參數 cls。

      ? 無論通過類或實例訪問都返回綁定方法。

      (3)靜態方法(Static Method)

              return a + b

      ? 不綁定任何對象(不傳入 self 或 cls)。

      ? 調用語義等價于普通函數,但屬于類命名空間,可繼承與重寫。

      3.2 描述符協議:方法形成的核心機制

      在類體內定義的函數具有 __get__ 方法,因此是。

      不同訪問方式對應不同行為:

      type(obj.f)       # method

      解釋:

      ? Example.f → 函數對象(__get__(None, Example) 返回原函數)

      ? obj.f → 綁定方法對象(__get__(obj, Example) 返回 method)

      classmethod 與 staticmethod 是特殊描述符,它們通過自身的 __get__ 改變綁定行為。

      3.3 調用語義與實際行為

      obj.static_method()      # 不綁定

      綁定方法對象的調用語義統一為:

      method(obj, *args)  →  method.__func__(obj, *args)

      四、何時使用函數或方法

      (1)使用函數的場景

      ? 與對象狀態無關

      ? 工具性質邏輯

      ? 不需要繼承、多態

      (2)使用實例方法的場景

      ? 操作實例狀態

      ? 表達對象行為

      ? 需要多態

      (3)使用類方法的場景

      ? 操作類狀態(類屬性)

      ? 替代構造器

      (4)使用靜態方法的場景

      ? 與類語義相關,但不訪問對象或類狀態

      ? 希望組織在類命名空間中

      五、常見誤解與澄清

      ? 誤解 1:“定義在類體中的函數就是方法”

      ? 它是函數,訪問時通過 __get__ 才變成方法。

      ? 誤解 2:“實例方法必須由實例調用”

      ? 類也可調用,只需顯式傳入實例。

      ? 誤解 3:“靜態方法本質就是普通函數”

      ? 調用上相同,但屬于類命名空間,可繼承與重寫。

      ? 誤解 4:“self 是特殊語法”

      ? 只是第一個參數的慣例命名,與綁定機制無關。

      小結

      在 Python 中,“函數”是獨立的可調用對象;“方法”則是函數通過描述符協議在訪問時生成的綁定方法對象。實例方法綁定實例,類方法綁定類,靜態方法不綁定。函數強調獨立性,方法強調面向對象的行為封裝。理解二者關系,是理解 Python 面向對象模型的關鍵。


      點贊有美意,贊賞是鼓勵

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      中國是如何擁有殲20的?美國五角大樓:中國瞞了全世界!

      中國是如何擁有殲20的?美國五角大樓:中國瞞了全世界!

      聞識
      2025-12-28 22:02:30
      馬杜羅警衛稱美軍突襲時用神秘武器讓人吐血癱倒,這可能是什么?

      馬杜羅警衛稱美軍突襲時用神秘武器讓人吐血癱倒,這可能是什么?

      之乎者也小魚兒
      2026-01-11 17:23:35
      給孩子發壓歲錢,記得:2數不發,3人不給,4事不做,開心過年,這可不是迷信

      給孩子發壓歲錢,記得:2數不發,3人不給,4事不做,開心過年,這可不是迷信

      美食格物
      2026-01-11 16:24:12
      為何不許大陸統臺?特朗普說了實話:中國統一后,將顛覆全世界

      為何不許大陸統臺?特朗普說了實話:中國統一后,將顛覆全世界

      朔方瞭望
      2026-01-12 15:39:22
      吃飯七分飽被推翻了?醫生:過了75歲,吃飯盡量要做到這6點

      吃飯七分飽被推翻了?醫生:過了75歲,吃飯盡量要做到這6點

      健康科普365
      2026-01-12 12:05:08
      增長400%,9元起硬抗高鐵!曾虧損千萬全國關停的交通首選復活了

      增長400%,9元起硬抗高鐵!曾虧損千萬全國關停的交通首選復活了

      南宗歷史
      2026-01-11 21:37:50
      萬萬沒想到!躲開了王楚欽林詩棟,最后淘汰張本智和的還是中國人

      萬萬沒想到!躲開了王楚欽林詩棟,最后淘汰張本智和的還是中國人

      十點街球體育
      2026-01-12 00:55:03
      伊朗外長:伊朗安全部隊已控制全國局勢

      伊朗外長:伊朗安全部隊已控制全國局勢

      澎湃新聞
      2026-01-12 16:05:07
      離婚19年,朱玲玲每周三仍回霍家吃飯。不是復婚,也不是演戲。

      離婚19年,朱玲玲每周三仍回霍家吃飯。不是復婚,也不是演戲。

      百態人間
      2026-01-10 05:15:03
      太陽報:長子向小貝夫婦發函,警告他們只能通過律師與他聯系

      太陽報:長子向小貝夫婦發函,警告他們只能通過律師與他聯系

      懂球帝
      2026-01-09 20:05:05
      乒球世界排名更新:朱雨玲第5獲28萬,陳幸同重返第3

      乒球世界排名更新:朱雨玲第5獲28萬,陳幸同重返第3

      民哥臺球解說
      2026-01-12 05:20:12
      瓦良格號送到中國后有多震撼?專家刮掉表面的銹跡:鋼材品質極佳

      瓦良格號送到中國后有多震撼?專家刮掉表面的銹跡:鋼材品質極佳

      古書記史
      2026-01-06 16:31:56
      中國絕不出賣朋友!美國說要賣,中方卻不買:拒收委內瑞拉高價油

      中國絕不出賣朋友!美國說要賣,中方卻不買:拒收委內瑞拉高價油

      影孖看世界
      2026-01-12 15:55:15
      威少擁抱杜蘭特!火箭8換1大交易!正式跌入附加賽區

      威少擁抱杜蘭特!火箭8換1大交易!正式跌入附加賽區

      籃球教學論壇
      2026-01-12 13:53:10
      大俄太狠!一頓襲擊將基輔變成“冰窖”,市長都呼吁市民盡快離開

      大俄太狠!一頓襲擊將基輔變成“冰窖”,市長都呼吁市民盡快離開

      戰刃
      2026-01-10 20:04:54
      馬克西38分76人加時惜敗猛龍 巴恩斯31+6+7故意兩罰一中準絕殺

      馬克西38分76人加時惜敗猛龍 巴恩斯31+6+7故意兩罰一中準絕殺

      醉臥浮生
      2026-01-12 10:08:12
      太猛了,馬上兩倍~~

      太猛了,馬上兩倍~~

      初善投資
      2026-01-08 15:10:02
      12+4!首秀干翻勇士!今年第一筆重磅交易

      12+4!首秀干翻勇士!今年第一筆重磅交易

      籃球實戰寶典
      2026-01-12 15:25:02
      京牌獲取出租政策調整引關注 閑置京牌出租是否合理

      京牌獲取出租政策調整引關注 閑置京牌出租是否合理

      歐聚聚科技互聯
      2026-01-12 11:48:51
      難以置信!閆學晶賬號剛禁封,又驚現閆學晶小號,直言“能咋地”

      難以置信!閆學晶賬號剛禁封,又驚現閆學晶小號,直言“能咋地”

      火山詩話
      2026-01-11 10:45:26
      2026-01-12 16:28:49
      MediaTea
      MediaTea
      專業的數字媒體、新媒體技術
      1701文章數 72關注度
      往期回顧 全部

      科技要聞

      小米二手車價大跳水:SU7半年跌5萬元

      頭條要聞

      女子坐火車遇71歲初中班主任 被一口叫出名字感動落淚

      頭條要聞

      女子坐火車遇71歲初中班主任 被一口叫出名字感動落淚

      體育要聞

      聰明的球員,不是教練教出來的

      娛樂要聞

      閆學晶:脫離群眾太久 忘了自己的根

      財經要聞

      A股大漲 兩市成交額3.6萬億創歷史新高

      汽車要聞

      增配不加價 北京現代 第五代 勝達2026款上市

      態度原創

      藝術
      旅游
      教育
      時尚
      軍事航空

      藝術要聞

      畫完這組畫,他抑郁了,后來自殺了

      旅游要聞

      阿拉木圖: 冬日雪趣

      教育要聞

      指數方程秒解,初中壓軸題

      普通人就該照搬這些穿搭!衣服不用買太貴,自然耐看又舒適

      軍事要聞

      官方確認:殲10CE在空戰中擊落多架戰機

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 91偷拍视频| 99久久亚洲精品无码毛片| 2022色婷婷综合久久久| 中文字幕久久久久人妻中出| 一本色道久久综合亚洲精东小说| 日本中文字幕乱码免费| 中文字幕在线影视| 天堂毛片| 久久精品人成免费| 国产精品无码av无码| 成人电影c.cc| 精品国产福利久久久| 日本强好片久久久久久aaa| 亚洲最大三级网站| 国产亚洲精品第一综合| 男人j进入女人j内部免费网站| 亚洲AV无码国产精品麻豆天美 | 成人国产精品日本在线观看| AV激情亚洲男人的天堂| 色吊丝永久性观看网站| 欧美青青草| 人妻无码久久久久久久久久久| 亚洲欧美日韩在线码| 亚洲夂夂婷婷色拍ww47| 亚洲产在线精品亚洲第一站一| 亚洲日本va午夜在线电影| 中文国产| 又黄又硬又湿又刺激视频免费| 精品久久久久久| 日本深夜福利在线观看| 香港经典a毛片免费观看播放| AV黄色| 国产精品手机视频一区二区| 国产互换人妻XXXXXX6| 国产精品乱码一区二区三区| 夏邑县| 久久精品成人欧美大片| 黑人玩弄人妻中文在线| 亚洲综合免费| 男女做爱网站| 人妻忍着娇喘被中进中出视频|