例項1:
[python]view plain
copy
#-*-coding:utf-8-*-
class firstdemo(object):
"""這裡是乙個doc
"""a=10
#類屬性
def demo(self):
"""第乙個方法
"""pass
def demo2(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方法"
def demo(self):
print firstdemo.b
a=firstdemo()
print a.__repr__()
print a.__str__()
"--------"
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方法"
def demo(self):
print firstdemo.b
a=firstdemo()
a.temp=500
#為物件新增乙個屬性
print a.__dict__ #檢視物件的例項屬性字典
print dir(a) #列出例項的屬性和方法集合
del a.temp #刪除物件中的temp屬性
print a.__dict__
print dir(a)
Python類的特殊方法
doc描述類的資訊 class foo object 單引號和雙引號都可以 這裡描述類的資訊 def func self passprint foo.doc 這裡描述類的資訊 call物件後面加括號,觸發執行 class foo object defcall self,args,kwargs pri...
Python類的特殊方法
特殊方法,也稱為魔術方法 特殊方法都是使用 開頭和結尾的 特殊方法一般不需要我們手動呼叫,需要在一些特殊情況下自動執行 定義乙個person類 class person object 人類 def init self,name age self.name name self.age age str ...
Python面試 類的特殊方法
class foo def init self print foo init def call self print foo call f foo f 過載了括號運算子 foo init foo call class decorator def init self,func print decora...