Python 物件導向 屬性相關

2021-10-05 06:49:32 字數 3309 閱讀 4435

什麼是物件

物件是具體物體,擁有屬性,擁有行為

python 是一門特別徹底的物件導向程式設計(oop)的語言

物件導向:在解決問題的時候,關注的是解決問題的每乙個過程

物件導向:在解決問題的時候,關注的是解決問題所需要的物件

物件導向本身是對面向過程的封裝

物件導向最重要的:

某乙個具體物件特徵的抽象

作用:根據抽象的類,生產具體的物件

類的組成:名稱,屬性,方法

以上的屬性和方法,都是抽象的概念。

在產生物件後,物件才具有具體的屬性值和方法實現

物件和類的關係:

物件抽象成類,類例項化成物件。

python 分為經典類和新式類

經典類:

class

money

:pass

# 定義乙個類

class

money

:pass

print

(money)

# 例項化乙個物件

one = money(

)print

(one)

<main.money object at 0x0396cf10>

# 定義乙個類

class

money

:pass

print

(money.__name__)

*** = money

print

(***.__name__)

money

money

變數是可以改變的量值

屬性是屬於某個物件的特性。

變數根據不同的位置存在不同的訪問許可權。

屬性只能通過物件來進行訪問

判定依據:是否存在宿主

直接通過物件,動態新增

# 定義乙個類

class

person

:pass

# 根據類,建立乙個物件

p = person(

)# 給 p 物件,新增一些屬性

p.age =

18p.height =

180print

(p.age)

print

(p.__dict__)

18

p.age = 123

# 定義乙個類

class

person

:pass

# 根據類,建立乙個物件

p = person(

)# 給 p 物件,新增一些屬性

p.pets =

['xiaohua'

,'xiaohei'

]print

(p.pets,

id(p.pets)

)'xiaohuang'

)print

(p.pets,

id(p.pets)

)

[『xiaohua』, 『xiaohei』] 74181688

[『xiaohua』, 『xiaohei』, 『xiaohuang』] 74181688

# 定義乙個類

class

person

:pass

# 根據類,建立乙個物件

p = person(

)# 給 p 物件,新增一些屬性

p.age =

18del p.age

方式1:

類名.類屬性 = 值

方式2:

class

money

: age =

18 count =

1 num =

666print

(money.age)

print

(money.__dict__)

通過物件查詢:

class

money

: age =

18 count =

1 num =

666one = money(

)print

(one.age)

python 物件的屬性查詢機制,優先到物件自身去查詢屬性,如果沒有找到,則根據__class__找到物件對應的類,到這個類裡面查詢

class

money

: age =

18 count =

1 num =

666class

test

: *** =

'male'

one = money(

)one.*** =

'female'

one.__class__ = test

print

(one.***)

female

class

money

: age =

18 count =

1 num =

666one = money(

)print

(money.age)

one.age =

19print

(money.age)

print

(one.__dict__)

18

18del 類名.屬性

del 只能刪除直系屬性

一般情況下,屬性儲存在__dict__的字典當中,有些內建物件沒有這個__dict__屬性。

一般物件可以直接修改__dict__屬性。

類物件__dict__為唯讀,預設無法修改,可以通過setattr方法修改

class

money

:pass

one = money(

)one.__dict__ =

print

(one.name)

sz

檢視乙個類的所有屬性

類名.__dict__

__slots__

class

person

: __slots__ =

['age'

]pass

p1 = person(

)p1.age =

1

python物件與屬性相關的特殊方法

這裡主要演示了python的類方法,例項方法,靜態方法,類方法可以以類名.類方法名的方式呼叫,也可以以例項物件.類方法名呼叫,且類方法在定義時需要 classmethod 例項方法必須以例項物件.例項方法名呼叫 靜態方法以類名或者例項名都可以,靜態方法需要 statucmethod class pe...

css字型屬性相關。

出處 css 參考手冊 說明 這個屬性允許對文字設定某種效果,如加下劃線。如果後代元素沒有自己的裝飾,祖先元素上設定的裝飾會 延伸 到後代元素中。不要求使用者 支援 blink。可能的值 描述 none 預設。定義標準的文字。underline 定義文字下的一條線。overline 定義文字上的一條...

css字型屬性相關。

出處 css 參考手冊 說明 這個屬性允許對文字設定某種效果,如加下劃線。如果後代元素沒有自己的裝飾,祖先元素上設定的裝飾會 延伸 到後代元素中。不要求使用者 支援 blink。可能的值 描述 none 預設。定義標準的文字。underline 定義文字下的一條線。overline 定義文字上的一條...