首页 > 代码库 > 关于理解python类的小题
关于理解python类的小题
今天看了python部落翻译的一篇《一道python类的小题》文章,感觉挺有启发性,记录下来:
1 print(‘A‘) 2 class Person(object): 3 print(‘B‘) 4 def __int__(self,name): 5 print(‘C‘) 6 self.name = name 7 print(‘D‘) 8 print(‘E‘) 9 10 11 p1= Person(‘name1‘) 12 p2 = Person(‘name2‘)
输出结果:
A
B
D
E
C
C
这里首先需要理解是,一、python程序的运行规则是一行一行依次执行的。二、python中类和函数的运行方式是有区别的。函数只有在调用时才会被执行(即运行内部的代码),在定义时并没有执行。而类在定义时就已经一行一行执行内部代码,并非实例化时才执行。这就是先打印A,接着B的原因。当代码运行到__int__时,类的定义中并没有调用该函数,所以未执行。所以输出的是D和E。 p1和p2实例化时,即调用了__int__函数,执行函数内部代码,打印C,C。
关于理解python类的小题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。