|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
传不了图片,我想请问一下这个输出不应该是 name创建 的吗
,name在函数的外部
代码:
class Ball:
name = "name创建的"
def setname(self,name):
self.name = name
def kick(self,name):
self.name = name
a = Ball()
a.setname("setname创建的")
a.kick("kick创建的")
print(a.name)
输出:
kick创建的
你的程序中有多个name,分别表示不同的含义
给你写了注释
- class Ball:
- name = "name创建的" #这个是类属性,调用的时候需要写类名:Ball.name
- def setname(self,name):#这个是形参,是个局部变量,只在这个函数中起作用
- self.name = name#前者是实例属性,实例化该类之后,用实例化名调用,例如第10行的a.name。 后者是局部变量,就是上一行的那个形参,是调用该函数的时候传进来的参数
- def kick(self,name):#这个也是形参,是个局部变量,只在这个函数中起作用
- self.name = name#这里和第四行一样
- a = Ball()
- a.setname("setname创建的")#括号内的字符串是实参,被传进函数,即第三行的name,然后在第四行用来修改实例化属性self.name
- a.kick("kick创建的")#括号内的字符串是实参,被传进函数,即第五行的name,然后在第六行用来修改实例化属性self.name
- print(a.name)#这个是实例化属性,即self.name,在上两行被修改了两次,所以这里输出的是最后一次修改后的值
复制代码
|
|