对于python中self和__init__的简明的理解

self和__init__的语法学过python的都清楚,但是怎样理解它们而不去死记硬背值得说道一下。

self的理解
Python中为何要有self呢?因为在定义类时,我们需要东西去指定这个类所创建的对象,这样才能调用一系列的方法。而在定义类时,我们是没有对象的,类都还在定义中哪里去创建对象,所以这时我们规定统一用一个self来指定类的实例,这样我们就才能定义一些类的方法。
下面是个简单的例子:

def blitme(self):
         self.screen.blit(self.image,self.rect)#根据self.rect 指定的位置将image绘制到screen(窗口)上

因为我们要调用blit方法,对谁调用?对一个类创建的实例调用,但现在还没创建实例,我们就暂且用self代替之,来编写类的代码。

__init__的理解

首先来看init单词本身,其含义是初始化,我们创建一个类,这个方法会自动调用,正是起了初始化的作用在类创建时传递的参数实际上就是传递到这个初始化方法中。
但是实际上我们也不要太死板,初始化方法中除了对类的属性赋值这种显然的初始化还有很多其他的相关代码。如我们要在屏幕上画一个飞船,在飞船的初始化方法中会有如如下代码,来获取屏幕的属性。所以为初始化属性铺垫的部分也是在__init__方法中。 总之这个方法包含初始化属性和为了初始化属性所作的工作。

self.screen_rect=screen.get_rect()#对screen(窗口)调用方法get_rect() 将它当成一个矩阵获取相应surface(窗口)的属性储存在screen_rect
发布了30 篇原创文章 · 获赞 5 · 访问量 6939

猜你喜欢

转载自blog.csdn.net/weixin_44735312/article/details/96828788