Python類對象實例對象的區別

2019-10-19   科技i關注

類對象和實例對象

簡短理論:(推薦學習: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相關技術文章,請訪問Python教程欄目進行學習!

以上就是Python類對象實例對象的區別的詳細內容,更多請關注其它相關文章!

更多技巧請《轉發 + 關注》哦!