SDUT:Python实验六——面向对象多选题(参考答案)

1. 分析下面的代码: CD

 class A:
     def __init__(self, s):
         self.s = s

     def print(self):
         print(s)

 a = A("Welcome")
 a.print()

A.程序有错误,因为类A中没有构造方法。

B.程序将打印出字符串:Welcome。

C.程序有错误,因为类A中的print方法中的语句:print(s),s变量没有定义。

D.如果将实例方法print(self)中的语句:print(s) 改成 print(self.s),程序能够正常运行.

2. 关于__new__和__init__方法的比较,下面哪些说法是正确的(ABCD )?

A.__new__是一个静态方法,而__init__是一个实例方法

B.__new__方法会返回一个创建的实例,而__init__什么都不返回

C.只有在__new__返回一个cls的实例时, __init__才能被调用

D.当创建一个新实例时调用__new__,初始化一个实例时用__init__

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值