随笔分类 - python深入研究
摘要:import和form...import的区别 参考链接 "骏马金龙" https://www.cnblogs.com/lzc978/p/10105194.html 普通区别 import 使用import导入,后续要加上前缀才能调用 from...import... from...import..
阅读全文
摘要:啦啦啦 "with上下文管理" "__class__和type的关系"
阅读全文
摘要:python闭包 闭包的条件 1.闭包函数必须返回一个函数对象 2.闭包函数内部的函数必须引用外部的函数的变量,(一般不能引用全局的变量),里面函数的返回值可有可无 闭包格式 \_\_closure\_\_查看闭包引用的外部函数作用域的值 首先是一个元组 注意 1.内部函数如果不引用外部函数的值,那
阅读全文
摘要:在可插拔settings的基础上加入类似中间件的设计 settings可插拔设计可以看之前的文章 https://www.cnblogs.com/zx125/p/11735505.html 设计思路 实现和Django中间件类似的功能,可以在settings中通过简单的添加和删除配置就能,操作中间件
阅读全文
摘要:代码块 骏马金龙https://www.cnblogs.com/f ck need u/p/9925021.html https://www.cnblogs.com/jin xin/articles/9439483.html 代码块可以使得一段python代码作为一个单元、一个整体执行。 几种代码块
阅读全文
摘要:FBV与CBV 及CBV源码分析 FBV(Function Based View) 基于函数的视图 基于函数的视图,我们一直在用没啥好讲的,就是导入模块调用函数执行业务 CBV(Class Based View) 基于类的视图 路由 视图 CBV源码分析 首先我们的路由竟然是一个函数(),这样的话是
阅读全文
摘要:修改json源码支持datetime序列化 抛出异常 查看dumps源码发现cls是起作用的方法 最后在JSONEncoder找到抛出异常的位置,我们可以拦截datetime抛出的异常进行处理 通过源码的注释大概知道它允许通过重写方法的形式,改写default方法,自定义 def default(s
阅读全文
摘要:Python的作用域 参考骏马金龙https://www.cnblogs.com/f ck need u/p/9925021.html blogaaa2 4大作用域 内置作用域dir(builtins) 全局作用域dir() 外部函数的本地作用域 嵌套函数内部的本地作用域 作用域分析 处于全局作用域
阅读全文
摘要:for源码实现 我们知道,java的while和for基本上是实现一样的功能,这样会不会有一点缺点,同时java的迭代器显得尤为的麻烦。 python的for和while就不同了,在实现迭代的功能的情况下,还能对每一个迭代出来的数据进行处理。 for可以迭代三种对象 1.默认有 的对象,也就是可迭代
阅读全文
摘要:生成器(generator) 什么是生成器 生成器是一种特殊的迭代器,生成器实现了 生成器解决什么问题 如果有一亿的数据要我们处理,我们通过列表的方式来访问的话,这一亿的数据是存放在内存的,这样会非常的消耗内存的,但是如果我们使用生成器的话,每当处理一个数据的时候,内存中只是相当于存了一个数据,这样
阅读全文
摘要:简单的orm实现 我们在使用各种框架的时候,关于数据库这方面的使用,框架给我们提供了很好的封装,这个就是orm 关系映射 orm的底层无非就是做了关系映射 ORM设计 字段 首先是字段,每个字段都有很多的字段属性,然后考虑到,每个表的字段可能都不同,为了给他提供更好的拓展性,所以这里我们选择用类来封
阅读全文
摘要:元类案例 元类案例 案例解析 首先查看,运行结果,是不是和你想的完全不一样,还有为啥Mytype的 执行了两次? 首先代码是自上向下执行的 首先写出代码的执行顺序,不考虑元类细节 详细分步解析 1 Mytype=type() 1.执行Mytype=type(),会首先运行一下类的内容, 执行了 2.
阅读全文
摘要:\_\_dict\_\_和dir()的区别 dir() 一般用来查看模块的属性 \_\_dict\_\_从某方面上来说是dir()的子集 可以直接打印dir(),显示的是当前执行文件所有的属性 \_\_dict\_\_ \_\_dict\_\_是对象的属性,有些对象是没有\_\_dict\_\_这个
阅读全文
摘要:builtins模块 为啥我们没有导入任何模块就能使用len(),str(),print()...等这么多的函数? 其实在我们运行python解释器的时候,他会自动导入一些模块,这些函数就是从这些地方来的,这些函数被称为内建函数 首先查看执行文件的名称空间有些啥 首先在最后面是我们自己编写的内容,z
阅读全文
摘要:模块进阶 python的源代码按功能可分为两种 1.用于执行的文件 2.用于被导入当做模块的文件 模块查找顺序 1.先从内存中已经导入的模块中寻找(sys.moudle) 2.内置的模块(time等) 3.自定义模块(执行文件所在目录) 4.环境变量sys.path中找(PYTHONPATH环境变量
阅读全文
摘要:Python内置类属性 我觉得一切都是对象,对象和元类对象,类对象其实都是一样的,我在最后进行了证明,但是只能证明一半,最后由于元类的父类是type,他可以阻挡对object属性的访问,告终 \_\_dict\_\_ : 类的属性(包含一个字典,由类的数据属性组成) \_\_doc\_\_ :类的文
阅读全文
摘要:元类 什么是元类 元类是类的类,是类的模板(就如对象的模板是类一样) 元类的实例为类,类的实例为对象 元类是用来产生类的 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,是运行时动态创建的 \_\_new\_\_() 我们之前说类实例化第一个调用的是 ,但 其实不是实例化一个类的
阅读全文
摘要:Python内存 None 和小整数池相似,python解释器启动就初始化好的 小整数池 当python解释器启动,就会在内存初始化一块保存 5到256的区域 而且这部分不会被垃圾回收,直到python解释器关闭 交互式里面运行: True False 垃圾回收 以引用计数为主,标记 清除和分代回收
阅读全文
摘要:python名称空间和作用域 名称空间 名称空间:例如a=1000,python解释器会开辟一块新的内存来存贮1000这个变量值,然后会有一个a指向这个1000,那么a存在哪里?其实他和变量值差不多,内存中开辟了一块名称空间专门存储变量名。 1.内置名称空间 当python解释器启动,就将一些自带的
阅读全文

浙公网安备 33010602011771号