Python类对象实例对象的区别


本文摘自php中文网,作者(*-*)浩,侵删。

类对象和实例对象

简短理论:(推荐学习:Python视频教程)

类对象是将具有相似属性和方法的对象总结抽象为类对象,可以定义相似的一些属性和方法,不同的实例对象去引用类对象的属性和方法,能减少代码的重复率。

实例对象又称实例化对象,不是抽象而是一类对象中具体的一例对象。

比喻理解:

我相信有的人觉得有点绕,在这里我以比喻说明,希望你能明白。首先,要明白,在python中,“万物皆对象”。个人理解:

类对象,好比有一篮“水果”,篮子里面的水果没有重复,那么这一篮中的“水果”就属于一个类,是抽象的,就像有人对你说“给我水果”,你的第一反应一定是“什么水果?”,所以是不确定性的。

实例对象,好比篮子里面的“苹果”,是一个具体的对象,即一个实例。我想有人对你说“给我苹果”,你应该不会想选择哪个水果吧

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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使用,如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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类对象实例对象的区别的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

深入理解Python对json的解析_Python

Python字典中的值为什么不允许重复

Python爬虫实现全国失信被执行人名单查询功能示例

Python如何使用xlrd实现读取合并单元格

Python做并行计算可以吗

mac怎么安装Python

Python什么时候出来的

Python怎么读txt文件

Python中格式化字符串有什么方法?(对比介绍)

Python字符串如何拼接

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...