python刻意練習day 12 類與物件

2021-09-29 06:58:17 字數 1738 閱讀 9616

物件=屬性+方法

物件是類的例項

python中,用class來定義類,後面緊跟類的名稱,冒號和類的實現

繼承:是子類與父類之間共享資料和方法的機制

多型:不同的物件使用同一種方法,做出不同的響應

self:

類的方法必須有乙個額外的第乙個引數名稱,對應於該物件本身,名字一般為self

在呼叫方法時,無需提供與self相對應的引數

python的魔法方法

類有乙個名為__init__(self[, param1, param2…])的魔法方法,該方法在類例項化時會自動呼叫。

公有和私有

定義私有變數和函式,需要在變數或函式前面加上兩個下劃線

python也支援類的繼承

class 派生類名(基類名)

如果子類中定義同名的方法,則會覆蓋父類中的方法

python也支援多繼承

組合將多個類中的方法組合到乙個類中

類,類物件,例項物件

類物件:建立乙個類,其實也是乙個物件也在記憶體開闢了一塊空間,稱為類物件,類物件只有乙個。

例項物件:就是通過例項化類建立的物件,稱為例項物件,例項物件可以有多個。

類屬性和例項屬性區別

類屬性:類外面,可以通過例項物件.類屬性和類名.類屬性進行呼叫。類裡面,通過self.類屬性和類名.類屬性進行呼叫。

例項屬性 :類外面,可以通過例項物件.例項屬性呼叫。類裡面,通過self.例項屬性呼叫。

例項屬性就相當於區域性變數。出了這個類或者這個類的例項物件,就沒有作用了。

類屬性就相當於類裡面的全域性變數,可以和這個類的所有例項物件共享。

注意:屬性與方法名相同,屬性會覆蓋方法。

python 嚴格要求方法需要有例項才能被呼叫,這種限制其實就是 python 所謂的繫結概念。

python 物件的資料屬性通常儲存在名為.__ dict__的字典中,我們可以直接訪問__dict__,或利用 python 的內建函式vars()獲取.__ dict__。

類的一些內建函式

issubclass(class, classinfo) 方法用於判斷引數 class 是否是型別引數 classinfo 的子類。

乙個類被認為是其自身的子類。

classinfo可以是類物件的元組,只要class是其中任何乙個候選類的子類,則返回true。

isinstance(object, classinfo) 方法用於判斷乙個物件是否是乙個已知的型別,類似type()。

type()不會認為子類是一種父類型別,不考慮繼承關係。

isinstance()會認為子類是一種父類型別,考慮繼承關係。

如果第乙個引數不是物件,則永遠返回false。

如果第二個引數不是類或者由類物件組成的元組,會丟擲乙個typeerror異常。

hasattr(object, name)用於判斷物件是否包含對應的屬性。

getattr(object, name[, default])用於返回乙個物件屬性值。

setattr(object, name, value)對應函式 getattr(),用於設定屬性值,該屬性不一定是存在的。

delattr(object, name)用於刪除屬性。

class property([fget[, fset[, fdel[, doc]]]])用於在新式類中返回屬性值。

fget – 獲取屬性值的函式

fset – 設定屬性值的函式

fdel – 刪除屬性值函式

doc – 屬性描述資訊

Python基礎刻意訓練 DAY12

學習內容 主要內容 模組 呼叫模組的方式 import 模組名 from 模組名 import 函式名 使用簡單的函式名 import 模組名 as 新名字 重新簡寫名字 最常用也是最簡單的方式 import turtle as tt 重新簡寫名字方便使用 tt.forward 20 ifname ...

python成長之路day12

函式的引數分兩類 1 定義階段函式內指定的引數稱之為形式引數,簡稱形參 形參就相當於變數名 2 呼叫階段括號內傳入的值稱之為實際引數,簡稱實參 實參就相當於變數值 1 可變長引數可變長指的是在呼叫函式時,傳入的值個數不固定,而實參是為形參賦值的 所以對應著也應該有新的形參格式來負責接受不固定長度的實...

python學習 day12 模組os sys

內容 以下內容僅供個人學習使用,侵刪 usr bin env python coding utf 8 os 通過程式與作業系統做互動 import os 四個維度 重要的 1.資料夾 建立資料夾 os.mkdir,os.makedirs 刪除資料夾 os.rmdir,os.removedirs 檢視...