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.  

  • 相关阅读:
    第三章 Java程序优化(待续)
    第二章 设计优化(待续)
    第一章 Java性能调优概述
    第十章 Executor框架
    第九章 Java中线程池
    第八章 Java中的并发工具类
    第七章 Java中的13个原子操作类
    Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925
    USACO Training刷题记录 By cellur925
    Trie树的小应用——Chemist
  • 原文地址:https://www.cnblogs.com/bilx/p/11391937.html
Copyright © 2011-2022 走看看