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.  

  • 相关阅读:
    日志
    mysql锁
    慢查询
    auto_increment
    脚本
    服务器元数据
    复制表及表数据
    临时表
    (一)校园信息通微信小程序从前端到后台整和笔记
    OpenCart框架运行流程介绍opencart资料链接
  • 原文地址:https://www.cnblogs.com/bilx/p/11391937.html
Copyright © 2011-2022 走看看