类问题求助
>>> class Fish:def __init__(self,x):
self.num = x
>>> a = Fish(3)
>>> a.num
3
这里a.num为什么是一个方法
不应该是def num(self,x):
return x
这么写吗
这里a.num为什么是一个方法?
这里的 num 是 a 实例对象的 实例属性,而不是方法,你可能是对 a.num 有误解,这只是调用 a 实例对象的 num 属性
方法是你下面说的:
def num(self,x):
return x
这样才是定义 num 方法
Twilight6 发表于 2020-7-22 23:54
这里的 num 是 a 实例对象的 实例属性,而不是方法,你可能是对 a.num 有误解,这只是调用 a 实例 ...
这里a.num是a这个实例化对象的一个变量
只是通过__init__的来通过x参数,传入一个给num初始的一个值
这样理解对吗 yz7268913 发表于 2020-7-23 00:05
这里a.num是a这个实例化对象的一个变量
只是通过__init__的来通过x参数,传入一个给num初始的一个值
这 ...
没错 Twilight6 发表于 2020-7-22 23:54
这里的 num 是 a 实例对象的 实例属性,而不是方法,你可能是对 a.num 有误解,这只是调用 a 实例 ...
所以小结一下,“实例化对象”.“x”,这个x可能是类的一个属性(变量),也可能是一个方法
所以也就是为什么一般用名词来命名属性,而用动词来命名方法
对不对 yz7268913 发表于 2020-7-23 00:09
所以小结一下,“实例化对象”.“x”,这个x可能是类的一个属性(变量),也可能是一个方法
所以也就是为 ...
嗯 可以这么说吧, 如果你类中定义了 x 方法, 此时 实例化对象.x 返回的是 x 函数体,而不是调用 x 函数,调用函数 实例化对象.x() 时候要加上括号哈 yz7268913 发表于 2020-7-23 00:09
所以小结一下,“实例化对象”.“x”,这个x可能是类的一个属性(变量),也可能是一个方法
所以也就是为 ...
自我纠正。。。方法后面要加()的,因为是函数。
好南啊
页:
[1]