|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class ball:
def setname(self,name):
self.name = name
def kick(self):
print("我叫%s!" % self.name)
>>> a = ball()
>>> a.setname("球a")
>>> a.kick()
我叫球a!
问题:我想问问上述class ball 中两个函数中相同的变量和公用呢,不是即使是相同的名字在不同的函数作用域中的身份也是不一样的吗?还是我记错了呢,请指教!
我想问问上述class ball 中两个函数中相同的变量和公用呢,不是即使是相同的名字在不同的函数作用域中的身份也是不一样的吗?还是我记错了呢,请指教!
在类中变量有三种:
1. 类体中,所有函数之外:此范围定义的变量,称为类属性或类变量;
2. 类体中,所以函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
3. 类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量;
所以在这带self 是实例属性,而实例属性作用于整个类的实例空间,也就是同个实例中的函数方法都可以使用和改变这个属性
而你在方法内不带 self 的参数才是局部变量哈~局部变量只供自己函数使用
|
|