zoukankan      html  css  js  c++  java
  • python继承关系中,类属性的修改

    class Grandfather(object):
        mylist = []
        def __init__(self):
            pass
    class Father(Grandfather):
        pass
    
    Grandfather.mylist = [1, 2, 3, 4]
    print(Grandfather.mylist)
    print(Father.mylist)
    Father.mylist = ['a']
    Grandfather.mylist = ['b']
    print(Father.mylist)
    print(Grandfather.mylist)
    print(Father.mylist)

    输出结果:

    [1, 2, 3, 4]
    [1, 2, 3, 4]
    ['a']
    ['b']
    ['a']

    从上面的实验可以看出,子类继承父类后,初始状态下,继承了父类的属性。

    当在子类中修改继承过来的类属性时,并不会修改父类的同名类属性。以后只要是通过子类访问该属性,访问的都是子类的属性;

    通过父类修改了父类属性后,子类访问该属性时,会访问父类修改后的属性值。前提是子类没有对该属性重新赋值过,如果子类修改过该属性,则会遵循上面的规则

  • 相关阅读:
    排序算法之归并
    RequestAndResponse
    Jsp相关
    会话技术
    MVC设计思想
    FileRecv VNCViewer 使用方法
    Go语言string包详解
    Go语言字符串
    Go语言fmt包详解
    编写第一个Go程序
  • 原文地址:https://www.cnblogs.com/byron0918/p/6864250.html
Copyright © 2011-2022 走看看