程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python - 为什么在课堂上使用“self”?

发布于2019-08-23 15:56     阅读(690)     评论(0)     点赞(4)     收藏(5)


这两个班级有何不同?

class A():
    x=3

class B():
    def __init__(self):
        self.x=3

有什么显着差异吗?


解决方案


A.x是一个类变量Bself.x是一个实例变量

Ax被实例之间共享。

可以更容易地证明可以像列表一样修改的东西的区别:

#!/usr/bin/env python

class A:
    x = []

    def add(self):
        self.x.append(1)


class B:
    def __init__(self):
        self.x = []

    def add(self):
        self.x.append(1)


x = A()
y = A()
x.add()
y.add()
print "A's x:",x.x

x = B()
y = B()
x.add()
y.add()
print "B's x:",x.x

产量

A的x:[1,1]
B的x:[1]



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/55250/7f3fa2c7659a9826c48f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)