这篇文章将为大家详细讲解有关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类对象实例对象的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。