马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在这道题中,老师定义class Turtle和class Fish的时候,都是用了__init__:class Turtle:
def __init__(self):
self.power = 100
self.x = r.randint(legal_x[0], legal_x[1])
self.y = r.randint(legal_y[0], legal_y[1])
但如果不适用init方法,直接给x,y,power赋值,是不是也可以呢?我这样运行了一下,也没有报错:class Turtle:
power = 100
x = r.randint(legal_x[0], legal_x[1])
y = r.randint(legal_y[0], legal_y[1])
那请问这个__init__具体需要在什么时候使用?
如果不需要我们通过输入赋值(这一讲甲鱼老师的例子用了Ball(self, name),这时候确实直接通过init给name赋值挺方便)的时候,使用这个方法跟我们在类中直接给参数赋值有什么区别?
感觉自己对init还是理解的不到位,望各位不吝赐教
试试这个: class Ball:
def kick(self):
self.name = '给个最佳'
b = Ball()
print(b.name)
然后再试试这个: class Ball:
def __init__(self):
self.name = '给个最佳'
b = Ball()
print(b.name)
|