美文网首页python面...
Python的面试锦囊宝典总结

Python的面试锦囊宝典总结

作者: 翎月 | 来源:发表于2016-04-14 20:28 被阅读398次

    一、 类

    • 什么是类?类的特点是什么?

    • 类: 类就是一组用来描述描述如何生成对象的代码段。类就是能创建出类实例的对象。

    • 类的特点:Python中的类也是对象,只要使用关键字class,Python的解释器执行的时候就会在内存中创建一个对象,对象名就是类名。这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么称这个对象为类的原因。但是Python中的类本质上还是一个对象,所以Python中类可以:

      • 将类赋给一个变量

      • 可以拷贝类

      • 可以为他增加属性

      • 可以把类作为函数参数去传递

      • 类是对象,因此可以动态的去创建类

      • 示例:a
        class Foo(object):
        pass
        Foo.new_aut = 'lingyue'
        foo = Foo()

         def myClass(name):
            if name == 'foo':
               class Foo():
                    pass
               return Foo
            else:
                class Bar():
                      pass
                return Bar
         s = myClass('foo')
         x = myClass('bar')
        
    • 类既然也是对象,那么这个类对象是谁创建的呢?

      • 创建类的元类
    • 什么是元类?元类有那些特点?

    • 元类:元类就是创建类(对象)的“东西”,即元类就是类的类,可以理解为元类就是类工厂
      def myfun():pass
      class myclass(object):pass
      age = 25
      name = 'lingyue'
      myc = myclass()

       print age.__class__
       print name.__class__
       print myfun.__class__
       print myc.__class__
        
       print age.__class__.__class__
       print name.__class__.__class__
       print myfun.__class__.__class__
       print myc.__class__.__class__
      

      输出结果:
      <type 'int'>
      <type 'str'>
      <type 'function'>
      <class 'main.myclass'>
      <type 'type'>
      <type 'type'>
      <type 'type'>
      <type 'type'>

    • type():type()就是一个元类,type()是Python背后用来创建所有类的元类,

      • type函数:type(类名,父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值)),type函数接受一个类的描述和参数,返回一个类。
        Foo = type("Foo",(object,),{'name':'lineyue_type'})
        print Foo
        >>> <class 'main.MyClass'>
    • "metaclass"属性是什么?这个属性有什么作用?

    • "metaclass"

    相关文章

      网友评论

        本文标题:Python的面试锦囊宝典总结

        本文链接:https://www.haomeiwen.com/subject/rdnglttx.html