mypythonic

下面会输出什么呢:

print(\'A\')
class MyObject(object):
    print(\'B\')
    def __init__(self, name):
        print(\'C\')
        self.name = name
        print(\'D\')
print(\'E\')
my_object1 = MyObject(\'Hello\')

 

。。。

 

A
B
E
C
D

 

A: 毋庸置疑,第一行

B: 

class MyObject(object):

  是先执行MyObject?还是等到用的时候执行MyObject呢?

  答案是初始化MyObject, 但不执行__init__方法, 也就是说等到用到的时候再执行初始化操作。

      所以看到打印出了B,没看到C 和 D.

E:  处理完MyObject class, 打印E

C:  

my_object1 = MyObject(\'Hello\')

  实例化MyObject, 这个时候执行__init__, 将实例my_object1的name属性赋值为‘Hello’。

D:

执行完__init__方法,返回。

 

Python tutuor

分类:

技术点:

相关文章:

  • 2021-07-04
  • 2019-02-23
  • 2021-09-08
  • 2021-09-21
  • 2019-07-09
  • 2021-11-30
  • 2021-09-26
猜你喜欢
  • 2021-12-23
  • 2021-11-27
  • 2021-11-26
  • 2021-08-04
  • 2021-09-10
  • 2021-09-24
相关资源
相似解决方案