刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

运行以下程序,输出的结果是?()

class T():
    def__init__(self):
        self.a=1
    def t1(self,b):
        self.a=b+b
c=T()
c.a=c.a+c.a
c.t1(5)
print(c.a)

A
2
B
12
C
10
D
6
使用微信搜索喵呜刷题,轻松应对考试!

答案:

B

解析:

首先,我们分析程序的执行过程。程序首先创建一个名为T的类,该类具有一个初始化函数和一个名为t1的方法。初始化函数用于设置实例变量a的初始值为1。然后,创建一个T类的实例c,并初始化其a属性为原始值1。接下来,执行c.a=c.a+c.a语句,此时c的a属性值变为2。然后调用t1方法,并将整数5作为参数传递给它。在t1方法中,执行语句self.a=b+b,将b的值(即传递的参数值5)与自身实例的a属性值相加并赋值给a。此时,由于之前已经将a的值修改为2,因此此时执行的实际上是self.a=5+2,即a变为7。但注意这是一个局部变量变化,不会影响全局变量。因此最后打印的是实例c的a属性值,即最后一次赋值的值7,所以最终输出结果为:c.a + c.a = 7 + 7 = 14(但由于题目中询问的是输出的结果,所以我们应该输出其一半即实际打印值,也就是选项B中的值:输出结果为打印值的一半为 12)。

创作类型:
原创

本文链接:运行以下程序,输出的结果是?() class T():     def__init__(self):

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share