<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.

      相關推薦
      熱點推薦
      上海一公交司機下車攙扶行動不便老人乘車,乘客致電表揚:公交是城市文明窗口

      上海一公交司機下車攙扶行動不便老人乘車,乘客致電表揚:公交是城市文明窗口

      縱相新聞
      2026-01-13 00:09:02
      中國又火了!荒漠中挖出亞洲最大水庫,美專家:趕快停手!

      中國又火了!荒漠中挖出亞洲最大水庫,美專家:趕快停手!

      豐譚筆錄
      2026-01-07 10:55:21
      烏江驚現懷孕女尸,其父稱其多年前死于地震,背后真相細思恐極

      烏江驚現懷孕女尸,其父稱其多年前死于地震,背后真相細思恐極

      風飄飄而吹衣
      2024-04-10 16:23:42
      一場大裁員正在席卷中國的銀行!金飯碗也不香了,究竟是什么原因

      一場大裁員正在席卷中國的銀行!金飯碗也不香了,究竟是什么原因

      墨蘭史書
      2025-12-26 19:40:03
      22歲醫學生被前男友殺害前正準備考研,兇手曾購買三棱軍刺、電擊槍等工具;受害人母親2023年確診癌癥:為給女兒討回公道,一度停止化療

      22歲醫學生被前男友殺害前正準備考研,兇手曾購買三棱軍刺、電擊槍等工具;受害人母親2023年確診癌癥:為給女兒討回公道,一度停止化療

      揚子晚報
      2026-01-13 12:28:57
      綁走馬杜羅只是個開始,特朗普訪華前,給中國設下三大陷阱

      綁走馬杜羅只是個開始,特朗普訪華前,給中國設下三大陷阱

      近史博覽
      2026-01-13 13:29:42
      英雄王杰舍身救下12條生命,八年未婚妻守候終生,每年都去祭拜

      英雄王杰舍身救下12條生命,八年未婚妻守候終生,每年都去祭拜

      談古論今歷史有道
      2026-01-12 16:30:03
      網紅曝開拓者教練團內斗,斯普利特為保楊派,光頭助教權利大

      網紅曝開拓者教練團內斗,斯普利特為保楊派,光頭助教權利大

      KG說球
      2026-01-13 10:19:51
      不可錯過!1月13日晚18-00央視5套及5+頻道直播節目表

      不可錯過!1月13日晚18-00央視5套及5+頻道直播節目表

      十三哥侃大山
      2026-01-13 09:48:50
      色字頭上一把刀!46歲"縱欲過度"的蕭亞軒,已然走上了另一條路

      色字頭上一把刀!46歲"縱欲過度"的蕭亞軒,已然走上了另一條路

      說歷史的老牢
      2026-01-12 13:47:27
      中東變局下,以色列為何重申對華立場?

      中東變局下,以色列為何重申對華立場?

      陸棄
      2026-01-12 10:20:47
      宋佳坐飛機時曬自拍,拉布布掛件搶鏡。

      宋佳坐飛機時曬自拍,拉布布掛件搶鏡。

      小椰的奶奶
      2026-01-13 06:48:54
      曼聯關注阿隆索皇馬下課,有意請其執教!不限新帥打三中衛四后衛

      曼聯關注阿隆索皇馬下課,有意請其執教!不限新帥打三中衛四后衛

      羅米的曼聯博客
      2026-01-13 09:13:14
      對話“死了么”創始人:靈感來自網友,多年打拼也曾有孤獨感

      對話“死了么”創始人:靈感來自網友,多年打拼也曾有孤獨感

      南方都市報
      2026-01-12 12:34:09
      中國最牛騙子,勞改犯搖身一變成空降高官,銳意改革政績突出

      中國最牛騙子,勞改犯搖身一變成空降高官,銳意改革政績突出

      史政先鋒
      2026-01-05 19:53:45
      賴清德支持的賴瑞隆初選勝出,將代表民進黨參選2026年高雄市長

      賴清德支持的賴瑞隆初選勝出,將代表民進黨參選2026年高雄市長

      海峽導報社
      2026-01-13 12:16:03
      26年春晚首次彩排!16位大咖亮相現場,這幾位明星遭到“抵制”

      26年春晚首次彩排!16位大咖亮相現場,這幾位明星遭到“抵制”

      瓜汁橘長Dr
      2026-01-13 09:40:15
      需求激增近1000%!發布15年的iPhone 4突然爆紅 追捧者:拍照很有氛圍感

      需求激增近1000%!發布15年的iPhone 4突然爆紅 追捧者:拍照很有氛圍感

      安兔兔
      2026-01-11 22:04:21
      特朗普“威脅”古巴等國,中方表態

      特朗普“威脅”古巴等國,中方表態

      新京報政事兒
      2026-01-05 18:03:03
      算命人說,家有這3生肖的人財氣纏身,2026年躲不過一富

      算命人說,家有這3生肖的人財氣纏身,2026年躲不過一富

      人閒情事
      2026-01-12 10:41:54
      2026-01-13 14:32:49
      MediaTea
      MediaTea
      專業的數字媒體、新媒體技術
      1704文章數 72關注度
      往期回顧 全部

      科技要聞

      每年10億美元!谷歌大模型注入Siri

      頭條要聞

      59歲女子誕下男嬰:大女兒定居國外 我和丈夫感到寂寞

      頭條要聞

      59歲女子誕下男嬰:大女兒定居國外 我和丈夫感到寂寞

      體育要聞

      CBA還能眾籌換帥?

      娛樂要聞

      周杰倫以球員身份參加澳網,C位海報公開

      財經要聞

      中國一口氣申報20萬顆衛星,意味著什么?

      汽車要聞

      限時9.99萬元起 2026款啟辰大V DD-i虎鯨上市

      態度原創

      旅游
      親子
      房產
      本地
      公開課

      旅游要聞

      “野趣”花岙(嶼見中國)

      親子要聞

      您吸的每一支煙,透支孩子的健康

      房產要聞

      重磅調規!417畝商改住+教育地塊!海口西海岸又要爆發!

      本地新聞

      云游內蒙|到巴彥淖爾去,赴一場塞上江南的邀約

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 成人α片免费视频播放在线| 无码熟妇αⅴ人妻又粗又大| 色窝窝免费一区二区三区| 伊人天天色| 日本免费人成视频播放试看| 成人网站在线进入爽爽爽| 国产xxxxxxx| 亚洲熟少妇在线播放999| 人人澡超碰碰97碰碰碰| 国产国拍亚洲精品永久不卡| 波多野结衣在线播放| 欧美色熟妇| 亚洲中文字幕无码天然素人| 国产欧美久久一区二区| 看片总站| 午夜无码区在线观看| 91无码人妻精品一区二区蜜桃| 国产91成人精品亚洲精品| 中文字幕无码色综合网| 亚洲精品成人无码熟妇在线| 97精品国产97久久久久久| 日本成熟老妇乱| 99久久久成人国产精品| 2020久久香蕉国产线看观看| 亚洲欧美日韩高清一区二区三区 | 边坝县| 午夜国人精品av免费看| 国产成人无码网站m3u8| 成人免费看www网址入口| 人禽杂交18禁网站免费| 性爱综合网| 国内精品久久久久伊人aⅴ| 国产地址二永久伊甸园| 久久亚洲精品成人无码网站夜色| 99国产欧美另类久久久精品| 夜夜操影院| 久久久精品人妻一区二区三区蜜桃| 91精品国产免费人成网站| 免费精品国产人妻av| 特黄少妇60分钟在线观看播放| 91视频高清|