<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 編程B18:OOP(一)

      0
      分享至

      第十一章面向對象編程基礎

      Python 是一種典型的面向對象編程語言(OOP, Object-Oriented Programming)。從數據到函數,再到對象,是程序設計思想的自然演進的結果。

      在面向對象編程中,我們不再僅僅編寫函數處理數據,而是讓“對象”同時擁有屬性(數據)與方法(行為),使程序組織更加清晰、可復用、可擴展。

      學習目標:

      (1)理解類與對象的基本概念與關系。

      (2)掌握類的定義、實例化、屬性與方法的使用。

      (3)理解封裝機制與信息隱藏的意義。

      (4)了解繼承與方法重寫的基本思想。

      (5)理解多態與抽象類的設計動機。

      (6)能編寫簡單的面向對象程序,如學生管理、圖形建模或 AI 模型結構原型等。

      11.1 面向對象編程概論

      隨著程序規模擴大,僅依靠變量、函數和基本數據結構(列表、字典等)難以管理復雜邏輯。OOP 提供了一種更高層次的建模方式,使我們能夠用“類”來描述事物,用“對象”來表達實際存在。

      對象具有兩類基本特征:

      ? 屬性(Attributes):描述是什么或擁有什么。

      ? 方法(Methods):描述對象能做什么或如何行動。

      在 OOP 中,我們關注的不僅是數據本身,更關注對象的職責與行為。

      OOP 的四大核心特性:

      ? 抽象(Abstraction)

      關注“做什么”,而非“怎么做”。屏蔽內部實現,只暴露必要接口。

      ? 封裝(Encapsulation)

      將數據與操作數據的方法打包為整體,封裝是實現抽象的重要手段,可使得對象成為可復用、可維護的模塊。

      ? 繼承(Inheritance)

      代碼復用與層次化建模,通用的共性行為可抽象到基類,具體差異由子類實現。

      ? 多態(Polymorphism)

      同一接口,不同實現。同一操作作用于不同類型的對象時,能夠自動觸發適合該類型的具體行為。

      OOP 通過抽象、封裝、繼承與多態四大特性,將復雜系統分解為可理解、可復用、可擴展的模塊,提升代碼的結構性與可維護性。

      掌握 OOP 意味著擁有拆解大型問題、構建長期價值系統的核心能力,是現代軟件工程的核心思維方式。

      11.2 類與對象

      11.2.1 類與對象的基本概念

      類(Class):對某類事物的抽象描述,是對象的“模板”。

      對象(Object / Instance):類的具體存在,是實際可用的實體。

      例如:

      類:Student

      對象:某個具體學生,如“艾婉婷”

      Python “一切皆對象”,數值、字符串、函數、模塊甚至類本身,都是對象。

      示例:

      # 輸出:汪汪!

      11.2.1.1類的定義

      類通過 class 關鍵字定義:

          # 類體內容:類變量、實例變量以及方法等定義語句

      類名推薦使用“大寫開頭的駝峰命名法”,如 Student、Teacher、AIModel 等。

      類體不能為空。如果在定義類時,尚未設計好類的屬性和方法,可使用 pass 占位:

          pass

      11.2.1.2實例化與初始化方法

      利用定義好的類創建對象的過程稱為“實例化”:

      變量名 = 類名(參數列表)

      括號中的參數會傳遞給類的初始化方法 __init__()。

      要注意的是:

      ? __init__ 是初始化方法(initializer),在對象創建后運行,用于設置實例狀態;

      ? 真正的構造(allocation)由 __new__ 完成,通常不需要重寫除非進行自定義內存分配或不可變類型初始化。

      示例:

      # 輸出:艾婉婷 的成績是 95 分。

      不是關鍵字,而是約定俗成的命名,表示當前實例,會由 Python 自動傳入,用于訪問實例的屬性與方法。

      11.2.2 實例屬性與類屬性

      類的屬性可分為兩類:類屬性和實例屬性。

      11.2.2.1類屬性

      類屬性是在類體中直接定義的變量,位于類的頂層作用域內。

      比如:

          shared = []

      類屬性屬于類本身,所有該類的實例共享同一份數據。

      (1)可以通過 類名.類屬性名 直接訪問或修改類屬性。

      (2)若通過 實例.類屬性名 = 值 形式賦值,并不會修改類屬性,而是在該實例上創建一個同名的實例屬性,從而“屏蔽”掉類屬性。

      (3)若類屬性是可變對象(如 list、dict 等),所有實例共享同一個對象。若某一實例中修改該可變對象會影響所有實例。

      示例(警示):

      print(x2.shared)  # 會看到 [1]

      若需每個實例有獨立的可變數據,應在 __init__() 中創建實例屬性。

      11.2.2.2實例屬性

      實例屬性通常在初始化方法 __init__() 中定義。

       
      
        = 
      <值>
         
      
      

      實例屬性用于描述實例的個性化數據,每個實例都有自己獨立的副本。

      (1)可以通過 實例.屬性名 訪問屬性。

      (2)當通過 實例.屬性名 = 值 進行賦值時,若該實例屬性已存在則修改,若不存在則動態創建新的實例屬性(即使存在同名的類屬性)。

      示例:

      print(Robot.category)         # 輸出: AI (類屬性本身不變)

      11.2.2.3 屬性查找順序

      屬性查找的順序是:

      實例屬性 → 類屬性 → 基類(按 MRO 順序)→ object

      若使用多重繼承,基類的查找順序由類的 MRO(Method Resolution Order,方法解析順序) 決定。

      11.2.3 實例方法、類方法與靜態方法

      類中的方法類型與第一個參數有關。

      11.2.3.1實例方法

      實例方法至少包含一個參數,通常命名為 self,指向調用該方法的實例。

          # self 指向實例本身

      實例方法通常通過對象實例調用,例如 obj.method()。主要用于操作對象的狀態。

      示例:

      print(c1.count)

      實例方法也可以通過類來調用,但需要顯式傳入實例,比如:

      Counter.increment(c1) 

      這在調試或元編程中偶爾有用,但不推薦在常規代碼中使用。

      11.2.3.2類方法

      類方法使用 @classmethod 裝飾,其第一個參數通常命名為 cls,指向類對象本身。

          # cls 指向類對象本身

      類方法是作用于類本身而非具體實例的方法。通過 cls,類方法可以訪問和修改類屬性,也可以調用其他類方法。

      類方法既可以通過類名調用,也可以通過實例調用。后者會將類作為第一個參數自動傳入,但語義上應通過類調用以體現“操作類”的意圖。

      示例:

      Counter.show_total()  # 當前計數器數量:5

      類方法常用于操作類級狀態、實現備用構造器或工廠方法。

      p = Person.from_string("艾婉婷,18")

      11.2.3.3靜態方法

      靜態方法使用 @staticmethod 裝飾,既沒有 self 也沒有 cls 參數,本質上是一個與類邏輯相關聯的普通函數。

          ...

      靜態方法既可以通過類名直接調用,也可以通過實例調用,但其行為與調用者無關。

      示例:

      print(mytool.add(5,3))      # 通過實例調用

      靜態方法通常用于工具函數或與類概念相關但不訪問類/實例狀態的操作。

      11.2.4 魔術方法

      (Special/Magic Methods)以雙下劃線 __ 包圍,例如 __init__ 初始化、__str__ 字符串顯示、__eq__ 比較運算、__len__ 長度、__add__ 加法、__iter__ 迭代支持,等等。

      通過實現這些方法,自定義對象可像內建類型一樣被操作與組合。

      示例:

      print(p1 == p2)    # 調用 __eq__()

      輸出:

      True

      魔術方法支持運算符重載、屬性訪問、迭代和上下文管理等 Python 操作語義下的行為。

      11.2.5 類與對象綜合示例與應用

      例 11.2.1:溫度轉換器類

      項目描述:設計一個類,實現攝氏度與華氏度之間的轉換功能。

      t.show()

      輸出:

      36.5°C = 97.7°F

      該示例演示了如何在類中定義屬性與方法,讓對象自身具備轉換能力。

      例 11.2.2:AI 模型類

      項目描述:定義一個 AIModel 類,用于表示人工智能模型的基本信息與推理行為。

      model.predict("[圖片數據...]")

      輸出:

      [ImageNetClassifier v1.2] 正在處理輸入數據:[圖片數據...]

      通過類的封裝,可以方便地管理 AI 模型的元數據與方法接口,這是 AI 系統中最常見的對象化設計模式之一。

      例 11.2.3:任務執行計數器

      項目描述:實現一個計數器類,用于統計任務的執行次數。

      TaskCounter.show_total()

      輸出:

      已執行任務總數:2

      此例展示了類屬性與類方法的結合使用,非常適合在批量任務調度或日志統計中使用。

      小結

      本次課介紹了面向對象編程的基本思想與關鍵構成要素。類是對事物的抽象描述,對象是類的實例。通過 __init__ 方法可初始化實例,通過實例屬性與類屬性區分“個體數據”和“共享數據”,通過實例方法、類方法與靜態方法實現不同的職責分工。魔術方法使類的行為更符合 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.

      相關推薦
      熱點推薦
      中國最高齡產婦盛海琳:丈夫已離世,女兒才15歲,我爭取活到104

      中國最高齡產婦盛海琳:丈夫已離世,女兒才15歲,我爭取活到104

      林雁飛
      2026-01-10 13:46:21
      對話“死了么”App創始人:這幾天付費人數翻了200倍;另有“活了么”App上線

      對話“死了么”App創始人:這幾天付費人數翻了200倍;另有“活了么”App上線

      紅星資本局
      2026-01-11 17:23:29
      15年過去了,那個說要贍養前妻父母的莫科,履行承諾了嗎?

      15年過去了,那個說要贍養前妻父母的莫科,履行承諾了嗎?

      哄動一時啊
      2025-12-19 14:39:26
      一個人最大的愚蠢,就是輕易公開這兩件事

      一個人最大的愚蠢,就是輕易公開這兩件事

      詩詞中國
      2026-01-11 19:41:27
      皇馬2-3,揪出1.8億混子巨星!粘球拖沓9次丟球,想拿金球成空談

      皇馬2-3,揪出1.8億混子巨星!粘球拖沓9次丟球,想拿金球成空談

      阿泰希特
      2026-01-12 10:11:11
      小國占據大島的無奈:格陵蘭島被發現上千年,丹麥從未完全控制?

      小國占據大島的無奈:格陵蘭島被發現上千年,丹麥從未完全控制?

      全城探秘
      2026-01-11 16:15:03
      65歲男人和37歲女人再婚,女人:他老折騰我,男人:夫妻就這樣

      65歲男人和37歲女人再婚,女人:他老折騰我,男人:夫妻就這樣

      惟來
      2026-01-11 13:11:12
      中國女乒無緣新賽季首冠,朱雨玲成功奪冠,賽后和陳振江緊緊相擁

      中國女乒無緣新賽季首冠,朱雨玲成功奪冠,賽后和陳振江緊緊相擁

      楊哥乒乓
      2026-01-12 00:49:11
      紀實:楊佳襲警案,北京小伙對執法不滿,手拿剔骨刀砍死6位民警

      紀實:楊佳襲警案,北京小伙對執法不滿,手拿剔骨刀砍死6位民警

      談史論天地
      2026-01-08 19:40:03
      1972年山東挖出一竹簡,才知龐涓殘害孫臏真相,被挖膝蓋骨真不冤

      1972年山東挖出一竹簡,才知龐涓殘害孫臏真相,被挖膝蓋骨真不冤

      史之銘
      2026-01-09 06:29:23
      女人染上“性癮”是一種怎樣的體驗?可能和你想象得不同

      女人染上“性癮”是一種怎樣的體驗?可能和你想象得不同

      紙上的心語
      2025-11-23 11:36:00
      郭晶晶沒想到,首次公開35處財產的霍啟剛,撕碎了多少豪門的體面

      郭晶晶沒想到,首次公開35處財產的霍啟剛,撕碎了多少豪門的體面

      李健政觀察
      2026-01-12 10:12:30
      男子泡了3年的人參酒,人參突然長出了綠葉!當事人:50度散白酒泡的,第一次遇到

      男子泡了3年的人參酒,人參突然長出了綠葉!當事人:50度散白酒泡的,第一次遇到

      極目新聞
      2026-01-11 16:51:20
      演員孫濤力挺閆學晶后續:抖音評論區徹底淪陷了,各種調侃他

      演員孫濤力挺閆學晶后續:抖音評論區徹底淪陷了,各種調侃他

      小徐講八卦
      2026-01-10 14:14:29
      特朗普聽取匯報,威脅最快下周打擊伊朗

      特朗普聽取匯報,威脅最快下周打擊伊朗

      山河路口
      2026-01-11 12:14:33
      一場新的戰爭,已是一觸即發

      一場新的戰爭,已是一觸即發

      牛彈琴
      2026-01-12 07:51:07
      小米二手車價大跳水:SU7半年跌5萬元

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

      21世紀經濟報道
      2026-01-12 07:30:53
      老婆敗光20億真相大白10個月,張學友近況引人擔憂,王晶真沒說錯

      老婆敗光20億真相大白10個月,張學友近況引人擔憂,王晶真沒說錯

      攬星河的筆記
      2025-12-29 17:05:48
      瑞典軍工發布導彈視頻:1枚導彈命中摧毀中國052d型驅逐艦!

      瑞典軍工發布導彈視頻:1枚導彈命中摧毀中國052d型驅逐艦!

      達文西看世界
      2026-01-11 19:10:20
      重慶兩名女子從重慶北站打車到沙坪壩,20公里被收195元,打車平臺預估僅需20余元,當地交通執法局:黑車假冒出租車,司機涉嫌非法營運

      重慶兩名女子從重慶北站打車到沙坪壩,20公里被收195元,打車平臺預估僅需20余元,當地交通執法局:黑車假冒出租車,司機涉嫌非法營運

      環球網資訊
      2026-01-11 08:00:27
      2026-01-12 14:15:00
      MediaTea
      MediaTea
      專業的數字媒體、新媒體技術
      1701文章數 72關注度
      往期回顧 全部

      科技要聞

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

      頭條要聞

      臺媒:大陸在朱日和基地復制"總統府" 不可掉以輕心

      頭條要聞

      臺媒:大陸在朱日和基地復制"總統府" 不可掉以輕心

      體育要聞

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

      娛樂要聞

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

      財經要聞

      揭秘“穩賺不賠”的代工項目騙局

      汽車要聞

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

      態度原創

      家居
      數碼
      藝術
      本地
      公開課

      家居要聞

      包絡石木為生 野性舒適

      數碼要聞

      2025年星閃終端產品出貨量突破1億臺 商用產品超600款

      藝術要聞

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

      本地新聞

      云游內蒙|“包”你再來?一座在硬核里釀出詩意的城

      公開課

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

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 丰满少妇被猛烈进入无码| 夜夜躁狠狠躁日日躁| 国产精品视频一区二区三区不卡 | 亚洲精选AV| 国产黄色在线| 亚洲资源在线| 国内精品久久人妻无码AV探花影视| 日韩一区二区三区女优丝袜| 精品久久久久中文慕人妻| 国产无码高清视频不卡| 日韩精品一区二区三区激情视频 | www.亚洲精品长腿丝袜| 午夜痒痒网| 国产农村老熟女乱子综合| 岛国高清av免费观看| 久久成人黄色| 艳妇臀荡乳欲伦交换h在线观看 | 99re6热在线精品视频播放| 中国xxxx真实偷拍| 亚洲免费网站观看视频| 免费夜色污私人影院在线观看| 亚洲中文字幕av天堂| 福利姬Jk丝袜-91Porn| 337p日本欧洲亚洲大胆裸体艺术| 最新精品国偷自产在线下载 | 亚洲人成网站999久久久综合 | 久久精品国产久精国产| 国产成人a在线观看网站站| 最新的国产成人精品2020| 香蕉av在线| 欧美老熟妇喷水| 婷婷久久香蕉五月综合加勒比| 婷婷99视频精品全部在线观看| 草草地址线路①屁屁影院成人| 高清美女视频一区二区三区| 国产va免费精品高清在线| 久激情内射婷内射蜜桃| 国产韩国精品一区二区三区久久| 日日爽日日操| 美女福利导航| 国产精品视频熟女韵味|