python下的一些特殊屬性(幾個例項說明)

2021-06-18 00:59:43 字數 2641 閱讀 4936

例項1:

[python]view plain

copy

#-*-coding:utf-8-*-

class

firstdemo(object):  

"""這裡是乙個doc

"""a=10

#類屬性

defdemo(

self

):  

"""第乙個方法

"""pass

defdemo2(

self

):  

"""第二個方法

"""pass

print

firstdemo.__dict__   

#列印出firstdemo類的所有屬性和方法,結果為乙個字典

print

firstdemo.__bases__  

#類的基類

print

firstdemo.__doc__    

#類的docstring

print

firstdemo.__name__   

#類的名字

print

firstdemo.__module__ 

#類所在模組,如果是主檔案,就是__main__

print

firstdemo().__class__    

#類的型別

print

firstdemo().__module__   

#例項型別所在模組

print

firstdemo().__dict__     

#物件的字典,儲存所有例項成員資訊

例項2:

[python]view plain

copy

#-*-coding:utf-8-*-

class

firstdemo(object):  

b=100

#類屬性

def__init__(

self

):  

firstdemo.b=200

[python]view plain

copy

def__repr__(

self

):  

return

"repr方法"

def__str__(

self

):  

return

"str方法"

defdemo(

self

):  

print

firstdemo.b  

a=firstdemo()  

print

a.__repr__()  

print

a.__str__()  

print

"--------"

a.demo()  

結果:repr方法

str方法

--------

200序號

目的所編寫**

python 實際呼叫

①初始化乙個例項

x = myclass()x.__init__()

②字串的「官方」表現形式

repr(x)x.__repr__()

③字串的「非正式」值

str(x)x.__str__()

最後列印的b的值為200,是因為__init__()方法的呼叫發生在例項被建立之後。

例項3(物件屬性的操作):

[python]view plain

copy

#-*-coding:utf-8-*-

class

firstdemo(object):  

b=100

#類屬性

def__init__(

self

):  

firstdemo.b=200

def__repr__(

self

):  

return

"repr方法"

def__str__(

self

):  

return

"str方法"

defdemo(

self

):  

print

firstdemo.b  

a=firstdemo()  

a.temp=500

#為物件新增乙個屬性

print

a.__dict__  

#檢視物件的例項屬性字典

print

dir(a)   

#列出例項的屬性和方法集合

dela.temp  

#刪除物件中的temp屬性

print

a.__dict__  

print

dir(a)  

Python類的特殊屬性

定義如下類 class foo object foo class definition 類的特殊屬性都有哪些呢?oo.name 類的名字 oo.doc 類的文件字串 foo.bases 類的所有父類構成的元組 foo.dict 類的屬性 foo.module 類定義所在的模組 foo.class 類...

Python (類)例項方法的特殊屬性

自定義函式的特殊屬性已經專門整理過一篇 python 自定義函式的特殊屬性 方法的特殊屬性與其稍有不同,我們通過下面這個例子展開介紹 class a def foo self a method print hellow world bar foo classmethod def clsmtd cls...

Python 自定義函式的特殊屬性

python 中通過函式定義所建立的使用者自定義函式物件均具有一些特殊屬性,需要注意的是這裡介紹的是自定義函式 function型別 的特殊屬性,而非方法 method型別 的特殊屬性,函式和方法的特熟屬性以及預設的返回值可能不盡相同。對於大多數特殊屬性,可以通過下面這個例子示範一下 class t...