第38课这行代码是啥意思?
本帖最后由 jcpython2 于 2022-12-21 22:39 编辑class ball:
def sname(self,name):
self.name = name
def kick(self):
print('kkkk %s' % self.name)
a = ball()
a.sname('se^^^^^')
a.kick()
self.name = name
这行代码作用为啥??为啥要这么写来着?
我理解为sname(self,name) 默认就是sname.name. 也等于self.name a = ball() 这一句代码创建了一个 ball 类的 a 对象。在执行 a 对象的方法时,Python 会将 a 对象本身作为第一个参数传进去。也就是说,self 参数接受的是对象本身。self.name = name 是将这个对象的 name 属性赋值为传进来的 name 参数。这个方法的作用是修改 a 对象的 name 属性。 sname.name?你贴出来的没有创建sname对象,之定义了sname方法。 tommyyu 发表于 2022-12-21 22:44
a = ball() 这一句代码创建了一个 ball 类的 a 对象。在执行 a 对象的方法时,Python 会将 a 对象本身作为 ...
感谢,我有点儿钻牛角尖,但这个例子用了太多name把我搞乱了
class ball:
def sname(self, name):
self.kk = name
def kick(self):
print('kkkk %s' % self.kk)
按照你的思路,我把代码改成这样,效果不变,马上就懂了
重复的名字让人糊涂
页:
[1]