Python之元类ORM

  • 什么是元类
    在Python中一切皆对象,类也是一个对象,实例对象由类创建出来的,类是由元类创建出来的。简而言之,用来创建类的类就叫元类(metaclass)。 函数type其实就是一个元类,type就是Python在背后用来创建所有类的元类。
  • globals()的作用
    globals()函数返回的是一个字典,里面保存的是所有当前位置的全部全局变量。
  • type()动态创建类
    type(‘类名’, (父类,) ,{属性})
  • 什么是ORM?
    ORM 即Object Relational Mapping,全称对象关系映射。为了简化SQL操作,把数据库的操作封装到类里面,把表映射成类,把字段映射为属性,把行映射为实例。通过这样一一对应的映射关系,我们便可以避免直接操作数据库,而只要调用相应的方法即可。
    5.setattr()和getattr()的用法
    setattr(对象, 属性, 属性值) 给对象中的属性设置值
    getattr(对象, 属性[, 默认值]) 从对象中读取属性的值,可以设置默认值,如果不存在则读取默认值。
    6.内建模块
    Python2中为builtin
    Python3中为builtins
  • 原文地址:http://blog.51cto.com/13517854/2132521

    时间: 2024-11-02 13:39:37

    Python之元类ORM的相关文章

    【转】Python 之 元类

    原文链接: https://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python      http://python.jobbole.com/21351/ 以下代码测试环境为ptyon2.7 类也是对象 在理解元类之前,你需要先掌握Python中的类.Python中类的概念借鉴于Smalltalk,这显得有些奇特.在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段.在Python中这一点仍然成立: >>&

    Python中元类

    一. 前提: python中一切都是对象,要么是类的对象,要么是元类的对象,type元类是自己的对象.继承层次表示为type(元类)-->类(内置和用户自定义的) --> 类的实例. 二.  目的: 创建类时自动改变类,换句话说就是创建类这种东西的东西. 三.  __metaclass__ 可以通过指定__metaclass__来使用用户自定义的元类创建类. class语句解析顺序: class Myclass(object): pass Myclass里面的__metaclass__ --&

    理解python的元类

    看了一篇文档,借鉴一下!写下自己对python元类的理解,欢迎各位大神给出意见. 我的理解就是 type用来创建元类,元类用来创建类,类用来创建实例 这样一想,是不是可以认为元类创建类的过程等同于类创建实例,类创建不同的实例,虽然每个实例都有类似的属性,方法,但具体都是不一样的! class Fruits(): def __init__(self,name,color): self.name=name self.color=color def __new__(cls,name,color): r

    Python之元类详细解析

    一.补充内置函数isinstance和issubclass 1.isinstance是判断一个对象是不是由一个对象产生的 1 class Foo: 2 pass 3 4 obj=Foo() 5 6 print(isinstance(obj,Foo)) #判断一个对象是否是由某个类调用产生 7 8 # 在python3中统一类与类型的概念 9 d={'x':1} #d=dict({'x':1} #) #类即类型,d是一个对象,dict是一个类,d是由调用dict产生的对象 10 11 print(

    Python之元类详解

    一.引子 元类属于Python面向对象编程的深层魔法,99%的人都不得要领,一些自以为搞明白元类的人其实也是自圆其说,点到为止,从队元类的控制上来看就破绽百出,逻辑混乱: 二.什么是元类 一切源自于一句话:Python中一切皆为对象.让我们先定义一个类,然后逐步分析 #!/usr/bin/env python # -*- coding: utf-8 -*- class MyTeacher(object): school='john' def __init__(self,name,age): se

    对python中元类的理解

    1. 类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段.在Python中这一点仍然成立: >>> class ObjectCreator(object): - pass - >>> my_object = ObjectCreator() >>> print my_object <__main__.ObjectCreator object at 0x8974f2c> 但是,Python中的类还远不止如此.类同样也是一

    Python利用元类来控制实例创建

    问题: 改变实例创建方式,以此来实现单例模式,缓存或者其他类似的特性. 解决方法: 如果想定制化创建实例的过程,可以通过定制一个元类并以某种方式重新实现它的__call__()方法. 单例模式实现: class Singleton(type): def __init__(self, *args, **kwargs): self.__instance = None super().__init__(*args, **kwargs) def __call__(self, *args, **kwarg

    python面向对象--元类

    一个类没有声明自己的元类,默认他的元类就是type,除了使用内置元类type,我们也可以通过继承type来自定义元类,然后使用metaclass关键字参数为一个类指定元类 class Foo: def __init__(self): pass f1=Foo()#f1是通过Foo实例化的对象 #print(type(f1)) print(type(Foo)) print(Foo.__dict__) def __init__(self,name,age): self.name=name self.a

    Python中的元类

    从前面"Python对象"文章中了解到,在Python中一切都是对象,类可以创建实例对象,但是类本身也是对象. class C(object): pass c = C() print c.__class__ print C.__class__ 代码中,通过"__class__"属性来查看对象的类型,对于类C对象本身,它的类型是type. 由于类也是对象,所以就可以在运行时动态的创建类,那么这时候就要用到内建函数type了. 再看type 从前面的文章了解到,可以通过