码迷,mamicode.com
首页 > 其他好文 > 详细

回顾一下类和对象以及继承关系

时间:2017-06-23 21:03:40      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:back   icm   att   iba   rac   number   log   line   static   

# coding:utf-8

import traceback


class A(object):
    __static_field = ‘A_private static field‘  
    public_static_field = ‘A_public_static_field‘  
    start_urls = "A_class_start_urls"
    _one_line = "A_one_line"

    def __init__(self):
        (filename, line_number, function_name, text) = traceback.extract_stack()[-2]
        self.name = text[:text.find(‘=‘)].strip()
self.start_urls = "object_start_urls" if not hasattr(self, "_one_line"): # 类属性中有,也算类实例有 self._one_line = ‘123‘ def __str__(self): return self.name def A_comm_func(self): return "A_comm_func" @classmethod def A_classmethod(cls): return "A_classmethod" @staticmethod def A_staticmethod(): return "A_staticmethod" def repeat(self): return "A_repeat" def ree(self): return self.__re() def __re(self): return "A__re" class B(A): B_public_field = "B_public_field" __B_pri_field = ‘B_pri_field‘ _B_one_line = ‘B_one_line‘ public_static_field = "B_public_static_field" _one_line = "B_one_line" def repeat(self): return "B_repeat" def B_comm_func(self): return "B_comm_func" @classmethod def B_classmethod(cls): return "B_classmethod" @staticmethod def B_staticmethod(): return ‘B_staticmethod‘ a = A() b = B() print "--------------A.dict-----------" print A.__dict__ print "--------------B.dict-----------" print B.__dict__ print "------------ a.__dict__ -----------" print a.__dict__ print "--------- b.dict -----------" print b.__dict__ # print b.A_classmethod() print B.A_classmethod() print A._one_line print a._one_line print b._one_line # 先从自己__dict__找,在去类找,再到类的父类找 print B._one_line # 先从自己找,再去父类找 b._one_line = ‘luanqibazao‘ print b._one_line

  

回顾一下类和对象以及继承关系

标签:back   icm   att   iba   rac   number   log   line   static   

原文地址:http://www.cnblogs.com/jijizhazha/p/7071373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!