您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python類對象實例對象的區別是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
類對象和實例對象
簡短理論:
類對象是將具有相似屬性和方法的對象總結抽象為類對象,可以定義相似的一些屬性和方法,不同的實例對象去引用類對象的屬性和方法,能減少代碼的重復率。
實例對象又稱實例化對象,不是抽象而是一類對象中具體的一例對象。
比喻理解:
我相信有的人覺得有點繞,在這里我以比喻說明,希望你能明白。首先,要明白,在python中,“萬物皆對象”。個人理解:
類對象,好比有一籃“水果”,籃子里面的水果沒有重復,那么這一籃中的“水果”就屬于一個類,是抽象的,就像有人對你說“給我水果”,你的第一反應一定是“什么水果?”,所以是不確定性的。
實例對象,好比籃子里面的“蘋果”,是一個具體的對象,即一個實例。我想有人對你說“給我蘋果”,你應該不會想選擇哪個水果吧
class Main_class_dll(): def __init__(self): dllName = "SessionConnector.dll" dllABSPath = os.path.dirname(os.path.abspath(__file__)) + os.path.sep + dllName self.dll = cdll.LoadLibrary(dllABSPath) self.session_id='' def int_create_(self): self.dll.Init.restype = c_bool sign = self.dll.Init() def Create_Session(self,ip,port): self.dll.CreateSession.argtypes=[c_char_p,c_char_p] #輸入參數的格式 self.dll.CreateSession.restype = c_int; #輸出參數的格式 self.session_id = self.dll.CreateSession(ip,port); def send_recv(self,buf): time.sleep(2) self.dll.SendSessionMsg.restype = c_bool; self.dll.SendSessionMsg.argtypes=[c_int,c_char_p,c_uint] ret = self.dll.SendSessionMsg(self.session_id, buf, len(buf) + 1); self.dll.RecvSessionMsg.argtypes=[c_int,c_char_p,c_uint,c_int] self.dll.RecvSessionMsg.restype = c_bool; recv_buf = create_string_buffer(1024); ret = self.dll.RecvSessionMsg(self.session_id, recv_buf, 1024, 3000); self.dll.DestroySession.restype = c_bool; ret = self.dll.DestroySession(self.session_id); return recv_buf.value
類對象就是可以用類名字直接使用表示的對象,它支持兩種操作,直接屬性使用和實例化。對于類屬性的使用,直接使用類名.屬性即可。對于類方法的使用,需要實例化一個對象后,將對象名賦值給self使用,如下所示:
class test: data = 1 def __init__(self): self.property=0 def test2(self): print 'hello' if __name__=='__main__': t = test() print test.data print t.data print test.test2 print t.test2() print test.test2(t)
關于Python類對象實例對象的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。