|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码
|
|