之前一直將物件和例項區分不清楚,最近思考了下,整理如下
類—例項化—>物件
例項是相對於某乙個具體類的概念,a物件是b類的例項。
類是物件的集合(抽象)
類例項化為物件,因此所謂的例項是相對類而言的,並不能說tom是例項,而是tom是student類的例項。
但我們可以說tom是乙個物件。
函式是function類的例項化物件
>>
>
deffun1()
:...
pass..
.>>
>
type
(fun1)
<
class
'function'
>
>>
>
type
(type
(fun1)
)<
class
'type'
>
通過type(fun1)可以看出,函式是function類的例項,而function類又是type元類的例項。
所以從這個角度看,函式也是類的例項,也是物件,因此某種意義上可以說,除了type元類以外,一切皆物件。
甚至包括import 乙個模組,這個模組都是乙個module類的乙個例項,比如乙個自建的models模組
>>
>
type
(models)
<
class
'module'
>
>>
>
>>
>
type
<
class
'module'
>
>>
>..
.print
(i)...
__name__
__doc__
__package__
__loader__
__spec__
__path__
__file__
__cached__
__builtins__
models
admin
python 類,物件 例項
簡單示例 類方法 python 類方法和例項方法相似,它最少也要包含乙個引數,只不過,類方法中通常將其命名為 cls,且 python 會自動將類本身繫結給 cls 引數 而不是類物件 因此,在呼叫類方法時,無需顯式為 cls 引數傳參。類靜態方法 靜態方法,其實就是我們學過的函式,和函式唯一的區別...
單例項物件類
在一些應用環境中只允許有乙個物件例項,如乙個部門的總負責人只允許有一人。按照以上的定義方法,必須首先設計乙個類,然後才宣告這個類的物件。但是有了類之後,就可以宣告多個物件例項,因為我們對宣告物件例項的個數無法控制。為控制物件例項的個數,可以在設計類時引入乙個靜態資料成員記錄當前例項物件的個數,並讓各...
Python學習筆記 類,類物件,例項物件
1 self 當例項方法被呼叫時,物件會將自身self作為第乙個引數傳入。所以在定義時需要將self寫入,在呼叫時不用寫。2 公有 私有 python的屬性和方法預設都是公有的,可以通過 訪問到,通過在屬性名前可以加上雙下劃線可以將其偽私有化,這樣只能通過類的方法來訪問了,為什麼是偽呢,因為pyth...