关于Python的__init__(self)和__name__=='__main__'的个人理解

关于Python的魔法方法__init__(self)和__name__=='main’的个人理解

看很多比较牛的Python代码,基本都有__init__和__main__的出现。看不明白很不舒服,就来推敲一下。虽然还是不太明白,但心里有点B数了。

def __ init __(self,a,b,…)

《笨方法学习Python 3》中有这么一段话(大致意思):
Python在你实例化class类的时候会检查这个类中是否有__init__,如果有就会调用它。进行初始化。

self是指实例化后的对象。

class song:
    def __init__(self,lyrics):
        self.ly = lyrics    #空对象中把传来的lyrics,赋值给一个叫ly变量
        print(type(self.ly))
        
    def sing(self):#这里的self可以随便改成什么别的名字(se),下面也跟着改了就好(se.ly)。可以自己试一试,但是不能没有
        for line in self.ly:   #这里的ly名字不能改,改了(比如说改成sa)就提示说song这个类没有sa这个属性
            print(line)
   def sng(sb):
        print(sb.ly)  #这里的sb.ly还是__init__里头self.ly的值
                   
a = song(['A','B','C'])    self指向a,即self就是a,self. = a.
b = song(['D','E','F'])

a.sing() 
b.sing()
a.sng()

实践充分说明,__init__里的self.a,意思大概就是个类整了一个a的属性(变量),类里面的函数都可调用a。起到传参数的作用吧…

至于 if __ name __== ’ __ main __’,还好

小甲鱼教学视频

直接给让我看明白的视频吧,也给别人宣传宣传。12分钟好像(看前面几分钟就能明白了)。

你可能感兴趣的:(Python)