首页 > 试题广场 >

执行以下程序,输出结果为() class Base(obje

[单选题]

执行以下程序,输出结果为()

class Base(object):

    count = 0

    def __init__(self):

        pass
b1 = Base()

b2 = Base()

b1.count = b1.count + 1

print(b1.count,end=" ")

print(Base.count,end=" ")

print(b2.count)

  • 1 1 1
  •  1 0 0
  • 1 0 1
  • 抛出异常

count是类变量

  • 通过类名修改类变量,会作用到所有的实例化对象
  • 通过类对象是无法修改类变量的。通过类对象对类变量赋值,其本质将不再是修改类变量的值,而是在给该对象定义新的实例变量
发表于 2022-04-01 16:25:06 回复(0)
class Base(object):

    count = 0

    def __init__(self):
        self.count += 1
        # pass
b1 = Base()

b2 = Base()


print(b1.count,end=" ")

print(Base.count,end=" ")

print(b2.count)
我选的是 C ,想要达到C的效果,需要在__init__函数下面操作 self.count += 1 ,学到新的知识点
发表于 2022-02-09 10:37:15 回复(5)
count 类静态变量,类和实例都能访问
发表于 2021-12-16 09:00:39 回复(0)
本题主要考察类变量,实例变量
类变量是定义在函数体外,类中
实例变量是对类实例化出一个对象,然后通过实例对象去使用类变量,也就是实例变量
对实例变量进行赋值改变不会影响到类变量的值,也就是指的是:b1.count = b1.count + 1 不会改变 类变量的值,只会改变实例变量本身

发表于 2022-04-26 10:09:38 回复(0)
类属性提供的是默认值,一旦有了实例属性,就会立马覆盖类属性。
发表于 2022-08-01 20:08:21 回复(0)
打卡
发表于 2022-04-06 15:47:26 回复(0)
改变对象的属性,不会影响类的使用,进而不会影响其他对象的属性,反之,修改类会影响对象的使用
发表于 2023-08-22 10:36:49 回复(0)
记录
发表于 2022-11-22 21:07:45 回复(0)
本题主要考察类变量,实例变量 类变量是定义在函数体外,类中 实例变量是对类实例化出一个对象,然后通过实例对象去使用类变量,也就是实例变量 对实例变量进行赋值改变不会影响到类变量的值,也就是指的是:b1.count = b1.count + 1 不会改变 类变量的值,只会改变实例变量本身
发表于 2022-11-18 22:29:35 回复(0)
参考java
发表于 2022-06-15 19:52:16 回复(0)
类属性为静态属性,为类实例提供了初始值,实例类属性的操作不会影响其他实例也不会影响类属性,就好比学校为学生提供了平台,这个不变,学生各自进步并不会影响这个平台
发表于 2022-06-09 23:23:59 回复(0)
类变量在实例中赋值时,就会在实例中拷贝一份单独的变量。也就不会再影响类变量了
发表于 2022-04-11 09:17:39 回复(0)
发表于 2022-04-02 21:22:12 回复(3)
这个一层套一层
发表于 2022-03-23 16:27:30 回复(0)