Discuss / Python / 像这类作业,我都不太明白什么样的变量能在其定义的函数(方法)内使用

像这类作业,我都不太明白什么样的变量能在其定义的函数(方法)内使用

Topic source

Blind-Monster

#1 Created at ... [Delete] [Delete and Lock User]

class Student(object):

    count = 0

    def __init__(self, name):

        self.name = name

        Student.count = Student.count + 1

上述的,如“Student.count”这个变量为什么能在“class Student(object):”下的方法“def __init__(self, name):”中引用,而“count”却不能在该方法下引用?

是因为“Student.count”在方法中能够认知为类属性,而“count”在方法中只能看做是局部变量吗?

按类思想的话,函数内部的count应该视为class a(b)里的a.count,把外部变量代进去后实际上进行了一层a.count=count,局部变量赋值运算没法改变外部的值,更何况是在__init__初始化方法下面。


  • 1

Reply