zoukankan      html  css  js  c++  java
  • python 类属性与实例属性

    #__author__ = 'juzi_juzi'
    
    #类属性与实例属性
    #1、无法通过类访问实例属性;
    #2、类属性归类所所有,但是所有实例都可访问;
    #3、如果存在相同名称的类属性与实例属性,实例访问的时候会优先使用实例属性,实例找不到该属性再找类属性:
    #4、实例修改了类属性值,但原类属性对应的值仍存在;
    
    
    class Test():
        count = 3 # count 为类属性;
        def __init__(self,name,age):
            self.name = name  #name ,age 为实例属性;
            self.age = age
    
    # print(Test.name) #1、无法通过类访问实例属性,AttributeError: type object 'Test' has no attribute 'name'
    t = Test('zhangsan',16)
    print(t.count) #2、实例属性可访问类属性;
    
    t.count = 1  # 用实例绑定count 属性;
    print(t.count) #1 打印出实例绑定的时候设置的值;
    print(Test.count) #3 实例虽然绑定了属性count ,但类的count 属性并未消失;
    Test.count=4
    
    t1 = Test('lisi','')
    print(t1.name) #新的实例的属性值为新设定的值,与其余的实例没有关系;
    print(t1.count) # 新的实例的count 属性不存在,所以会去寻找类属性的,类属性的值存在,所以取类属性的值;
    print(Test.count) #4 这里的4 是因为上面的类属性修改所导致(Test.count=4);
  • 相关阅读:
    2、函数
    二者取其一(初遇)_网络流
    P1879 [USACO06NOV]玉米田Corn Fields
    P2831 愤怒的小鸟
    P2296 寻找道路
    序(不知道是什么时候的模拟题)
    P2243 电路维修
    P1273 有线电视网
    P2613 【模板】有理数取余
    P1373 小a和uim之大逃离
  • 原文地址:https://www.cnblogs.com/juzib/p/12072014.html
Copyright © 2011-2022 走看看