首页
/
每日頭條
/
生活
/
Python初識面向對象
Python初識面向對象
更新时间:2025-03-20 01:19:10

Python初識面向對象?面向對象編程(英語:Object-oriented programming,縮寫:OOP)是種具有對象概念的編程典範,同時也是一種程序開發的抽象方針它将對象作為程序的基本單元,将程序和數據封裝其中,以提高軟件的重用性、靈活性和擴展性,對象裡的程序可以訪問及經常修改對象相關連的數據在面向對象程序編程裡,計算機程序會被設計成彼此相關的對象,接下來我們就來聊聊關于Python初識面向對象?以下内容大家不妨參考一二希望能幫到您!

Python初識面向對象(Python初識面向對象)1

Python初識面向對象

簡介

面向對象編程(英語:Object-oriented programming,縮寫:OOP)是種具有對象概念的編程典範,同時也是一種程序開發的抽象方針。它将對象作為程序的基本單元,将程序和數據封裝其中,以提高軟件的重用性、靈活性和擴展性,對象裡的程序可以訪問及經常修改對象相關連的數據。在面向對象程序編程裡,計算機程序會被設計成彼此相關的對象。

我們之前學習的編程方式就是面向過程的,面相過程和面相對象,是兩種不同的編程方式,對比面向過程的特點,可以更好地了解什麼是面向對象。

特點面向過程
  • 注重步驟與過程,不注重職責分工
  • 如果需求複雜,代碼會變得很複雜
  • 開發複雜項目,沒有固定的套路,開發難度很大!
面向對象
  • 注重對象和職責,不同的對象承擔不同的職責
  • 更加适合應對複雜的需求變化,是專門應對複雜項目開發,提供的固定套路
  • 需要在面向過程基礎上,再學習一些面向對象的語法

相比較函數,類是更大的封裝,根據職責在一個對象中封裝多個方法。在完成某一個需求前,首先确定職責要做的事情(方法),根據職責确定不同的對象,在對象内部封裝不同的方法(多個)。最後完成的代碼,就是順序地讓不同的對象調用不同的方法

類和對象

類是對一群具有相同特征或者行為的事物的一個統稱,是抽象的,不能直接使用。特征被稱為屬性,行為被稱為方法。

對象是由類創建出來的一個具體存在,可以直接使用。由哪一個類創建出來的對象,就擁有在哪一個類中定義的屬性和方法。

關系

類是模闆,對象是根據類這個模闆創建出來的,應該先有類,再有對象。類隻有一個,而對象可以有很多個。不同的對象之間屬性可能會各不相同。類中定義了什麼屬性和方法,對象中就有什麼屬性和方法,不可能多,也不可能少。

類的設計

在使用面相對象開發前,應該首先分析需求,确定一下,程序中需要包含哪些類!

在程序開發中,要設計一個類,通常需要滿足一下三個要素:

  • 類名這類事物的名字,滿足大駝峰命名法
  • 屬性這類事物具有什麼樣的特征
  • 方法這類事物具有什麼樣的行為

大駝峰命名法:每一個單詞的首字母大寫且單詞與單詞之間沒有下劃線,如ClassName。

類名

名詞提煉法分析整個業務流程,出現的名詞,通常就是找到的類

屬性和方法
  • 對對象的特征描述,通常可以定義成屬性
  • 對象具有的行為(動詞),通常可以定義成方法

需求中沒有涉及的屬性或者方法在設計類時,不需要考慮

定義簡單的類

定義一個隻包含方法的類語法格式如下:

class 類名: def 方法1(self, 參數列表): pass def 方法2(self, 參數列表): pass

方法的定義格式和之前學習過的函數幾乎一樣,區别在于第一個參數必須是self,暫時先記住,稍後介紹 self

創建對象

當一個類定義完成之後,要使用這個類來創建對象,語法格式如下:

對象變量 = 類名()

方法中的self參數

由哪一個對象調用的方法,方法内的 self 就是哪一個對象的引用

在面向對象開發中,引用的概念是同樣适用的。使用類創建對象之後,對象的變量中仍然記錄的是對象在内存中的地址,也就是對象的變量引用了新建的類對象。使用 print 輸出對象變量,默認情況下,是能夠輸出這個變量引用的對象是由哪一個類創建的對象,以及在内存中的地址(十六進制表示)

在類封裝的方法内部,self 就表示當前調用方法的對象自己。調用方法時,程序員不需要傳遞self參數。

在方法内部,可以通過 self. 訪問對象的屬性,也可以通過 self. 調用其他的對象方法。

在類的外部,通過 變量名. 訪問對象的屬性和方法,在類封裝的方法中,通過 self. 訪問對象的屬性和方法。

初始化方法

當使用 類名() 創建對象時,會自動執行以下操作:

  • 為對象在内存中分配空間 —— 創建對象
  • 為對象的屬性設置初始值 —— 初始化方法(init)

初始化方法就是 __init__ 方法,__init__ 是對象的内置方法,__init__ 方法是 專門用來定義一個類具有哪些屬性的方法

在 __init__ 方法内部使用 self.屬性名 = 屬性的初始值 就可以定義屬性,定義屬性之後,再使用類創建的對象,都會擁有該屬性。

内置方法和屬性__del__方法

當使用 類名() 創建對象時,為對象分配完空間後,自動調用 __init__ 方法,當一個對象被從内存中銷毀前,會自動調用 __del__ 方法。

__str__方法

如果在開發中,希望使用 print 輸出對象變量時,能夠打印自定義的内容,就可以利用__str__這個内置方法了

__str__ 方法必須返回一個字符串

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
詹妮弗安妮斯頓布拉德皮特同框
詹妮弗安妮斯頓布拉德皮特同框
布拉德·皮特(BradPitt)和前妻詹妮弗·安妮斯頓(JenniferAnniston)世紀同框了!自金球獎頒獎典禮,外界就紛紛期待都有入圍且出席典禮的兩人,會不會有機會合體。就連皮特都态度大方地開玩笑說:「我知道這是大家除了《Frien...
2025-03-20
商家不支持7天無理由退貨怎麼辦
商家不支持7天無理由退貨怎麼辦
補買了東西不喜歡不想要咋辦?在網上購物,也許你可以選擇“七天無理由退貨”但實體店呢?最近,深圳就推出新的“玩法”實體店消費也能無理由退貨而且退貨時限不少于7天參與的新商店包括百果園、錢大媽優衣庫、蘇甯易購、天虹等話題迅速沖上網絡熱搜引發衆多...
2025-03-20
男方見父母應該先見哪個方面
男方見父母應該先見哪個方面
每天分享接地氣的情感故事和生活感悟,你關注我,餘生我們一起走。文|左手執筆又是一年底的來臨,除了盼望着和準備着過春節,不少戀人更重要的是準備着見對方家長,不管是第一次見異性的家長,還是有之前有過見家長的經驗。無論是哪種情況,隻要是心心念念想...
2025-03-20
華胥引最後一集大結局
華胥引最後一集大結局
控醬說:《華胥引》第二個單元《十三月篇》,莺哥是一個女殺手,可是在她的殺手生涯裡,注定要遇到兩個對她而言最重要的男人,一個把她當利刃,派她在腥風血雨中沖鋒陷陣;一個視她如珍寶,在危難關頭拼死護她周全,性格剛烈如她,面對兩段截然不同的愛情,将...
2025-03-20
歡樂喜劇人第四季有哪些人物
歡樂喜劇人第四季有哪些人物
《歡樂喜劇人》是東方衛視和歡樂傳媒聯合打造的一款明星喜劇競賽類節目。節目通過小品、相聲、曲藝等多種藝術形式,傳遞幽默和快樂,并挖掘出大批的喜劇天才。節目到目前為止已經播出四季,分别由吳秀波和郭德綱擔任主持,參賽選手包括潘長江、賈玲、吳君如、...
2025-03-20
Copyright 2023-2025 - www.tftnews.com All Rights Reserved