赞
踩
首先说明一下,def __init__(self)是用于初始化类。但是我们实际程序阅读过程中会发现,这部分经常有两种状况。
1.def __init__(self),不带参数,此处借鉴另一位博主的程序做一下分析
class Game: # 定义类Game
def __init__(self): # 创建类中的函数,也叫方法
self.name = None
self.score = None
def print_score(self):
print("%s score is %s" % (self.name,self.score))
s1 = Game() # 创建对象s1
s1.name = "Tom"
s1.score = 8
s1.print_score()
在此例中,__init__(self)里没有设置其他的参数,但是在本方法内部有两个属性{name,score}。它是允许定义一个空的结构的,当来新数据时再往里面添加。不过本方法在使用的时候需要事先实例化,然后再进行赋值操作,如横线处所示。
2.def __init__(self,参数),带多参数
class Game: # 定义类Game
def __init__(self, name, score): # 创建类中的函数,也叫方法
self.name = name
self.score = score
def print_score(self):
print("%s score is %s" % (self.name,self.score))
s1 = Game("Tom", 8) # 创建对象s1
s1.print_score()
在此例中,__init__(self)里直接设置了其他的参数,也就是说在定义方法的时候就直接把{name,score}给设置好了。故在创建对象的时候必须同样填入属性值,如横线处所示。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。