zoukankan      html  css  js  c++  java
  • 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.  

  • 相关阅读:
    汽车过沙漠问题【学习笔记】
    极值问题
    双色汉诺塔【分离型】
    二分查找(递归与非递归)
    t2712:字符串移位包含问题
    酒瓶和瓶盖换购新酒
    反转诗句
    字符串的展开
    回文子串[输出所有回文子串]
    最长最短单词
  • 原文地址:https://www.cnblogs.com/bilx/p/11391937.html
Copyright © 2011-2022 走看看