美文网首页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