类和对象
class Ball:def setName(self,name):
self.name=name
def kick(self):
print("我叫%s,该死的,谁踢我..."%(self.name))
为啥kick函数可以调用setName里的(self.name)变量,(self.name)不是一个局部变量吗? 因为有self,所以这实际上是个实例化变量
在实例化过程中,这个变量给予了实例化对象
实例化对象能调用所有的实例化变量和实例化方法
如果这么写的话就是局部变量了
class Ball:
def setName(self,name):
name=name
def kick(self):
print("我叫%s,该死的,谁踢我..."%(name))
类体中,所有函数之外:此范围定义的变量,称为类属性或类变量;
类体中,所以函数内部:以 “self.变量名” 的方式定义的变量,称为实例属性或实例变量;
类体中,所有函数内部:以 “变量名=变量值” 的方式定义的变量,称为局部变量;
类变量 使用范围在所有实例之间同时共用;
实例变量 使用范围仅在某个实例本身中使用;
局部变量 只在局部作用范围使用;
页:
[1]