Discuss / Python / 小白请教一下

小白请教一下

Topic source

666

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

为什么在student类中没有定义age这个变量,也能在调用实例的时候给age赋值?我记得java好像要定义才可以赋值,难道这一点python和java是不一样的,还是我记错了?

Shrimp

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

看样子是的,不过这应该是动态创建的,就是实例清除了属性也就没了,可以理解为给实例添加属性了

神秘人--B

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

类属性可以通过类名或实例访问,而实例属性只能通过实例访问

class MyClass:

    # 定义类属性

    class_attribute = "I am a class attribute"

    def __init__(self):

        # 定义实例属性

        self.instance_attribute = "I am an instance attribute"

よろしく

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

因为java是静态语言,类的结构在编译时就确定了,所以无法为实例直接添加新属性。而python是动态语言,允许在运行时动态地修改类和对象的结构。


  • 1

Reply