• python学习——反射练习


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

    类变量:类内定义的变量

    实例变量:类外定义的变量

    2.super的作用?

    调用对象按照调用函数继承类的顺序寻找下一个

    3.isinstance和type的区别并用代码举例说明

    isinstance 检查第一个参数(对象)是否时第二个参数(类)的实例

    class Foo(object):

        pass

    obj = Foo()

    print(obj,isinstance(obj,Foo))

    type是获取对象是哪个类创建的

    class Foo(object):

        pass

    obj = Foo()

    print(obj,type(obj))

    if type(obj) == Foo:

      print(‘obj是Foo类型’)

    4.补全代码

      def func(arg):
        """

        判断arg是否可以被调用,如果可以则执行并打印其返回值,否则直接打印结果

        param:传入的参数

        """

        return 1

      ret = func(arg)

      if callable(arg):

        print(func(arg))

      else:

        print('不可以调用')   

    5.补全代码

    from types import MethodType,FunctionType
    
    def check(*args):
        func_count = 0
        met_count = 0
        foo_count = 0
        for item in args:
            if isinstance(item,MethodType):
                met_count += 1
            elif isinstance(item,FunctionType):
                func_count += 1
            elif type(item) == Foo:
                foo_count += 1
            return met_count,func_count,foo_count
    def func():
        pass
    
    class Foo(object):
        def detail(self):
            pass
        @staticmethod
        def xxx():
            pass
    obj = Foo()
    print(check(func,obj.detail,obj.xxx))

    6.  

  • 相关阅读:
    并发
    基础概念总结
    Tomcat总结
    JVM总结
    Spring事务管理
    数据结构和算法
    拦截器
    关于XML fragments parsed from previous mappers already contains value for错误的探索
    zookeeper比较好的学习地址
    关于idea中的maven打包
  • 原文地址:https://www.cnblogs.com/bilx/p/11391937.html
Copyright © 2020-2023  润新知