首页 > 其他 > 详细

面向对象相关

时间:2019-05-08 13:38:50      阅读:105      评论:0      收藏:0      [点我收藏+]

1. 类变量和实例变量的区别?

  类变量不通过实例化后可直接打印输出,类变量存储在类的内存中

  如果同时有类变量和实例变量,程序执行时,首先去找实例变量,如果实例变量不存在,就去执行类变量

2. super的作用?

  不需要明确给出任何基类的名字,它会自动找到所有直接基类,及其对应的方法.用于继承

3. isinstance和type的区别?

  isinstance 是判断两个函数之间的逻辑父子关系

  

class Base():
    pass
class Foo(Base):
    pass
class Bar(Foo):
    pass
print(issubclass(Foo,Base)) # 判断是否子类
print(issubclass(Bar,Base)) # 判断是否是子孙类
print(issubclass(Base,Foo))

  type 是判断当前的类型,是方法,还是函数

 

 1 class Foo(object):
 2     pass
 3 class Bar():
 4     pass
 5 def func(*args):
 6     foo_counter = 0
 7     bar_counter = 0
 8     for item in args:
 9         if type(item) == Foo:
10             foo_counter += 1
11         elif type(item) == Bar:
12             bar_counter += 1
13     return foo_counter,bar_counter
14 res = func(Foo(),Bar(),Foo())
15 print(res)
16 v1,v2 = func(Foo(),Bar(),Foo())
17 print(v1,v2)

 

面向对象相关

原文:https://www.cnblogs.com/wangjs/p/10831254.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!