01 2020 档案
摘要:抽象类和接口类 python中没有接口的概念,接口类和抽象类可以视为一种,但是java中两个类完全不同 定义:为特定程序的开发制定一个规范,强制程序的编写必须按照规定的方式执行 使用强制类后不遵循规范会导致程序报错 Note 需要注意的是:抽象类和接口类应用的场景比较少,不是很常用,但是使用的时候就
阅读全文
摘要:类与对象的用法 一、类的基本使用 类中包括:静态字段(静态变量)、动态字段(动态变量)和构造方法 静态字段写在__init__方法之前,动态字段需要实例化对象类传递参数值,字段名写在__init__方法中 实例化对象的过程: 创建一个对象空间,实例空间 自动执行__init__方法,并将实例化的对象
阅读全文
摘要:递归与二分查找 一、递归 mac上的python最大递归深度997次,但python官方文档上的最大递归深度是1000 设置最大的递归深度 二、利用递归和os模块遍历所有的文件和文件夹 三、二分查找法
阅读全文
摘要:内置函数 一、匿名函数lambda 匿名函数的一部分是函数的参数,第二部分是函数中return的内容,但lambda中没有return关键字 基本格式为:变量 = lambda 参数1,参数2, ...... : 返回结果 一行完成一个函数,这种函数是临时的,也是非常简单的函数,复杂的函数lambd
阅读全文
摘要:[TOC] 函数用法进阶 一、函数作为参数和变量来使用 函数名表示的是函数存储在内存中的地址,函数加上括号才是函数。例如:main()表示的是函数, main是该函数的函数名,print(main)得到的是main()的内存地址,原理等同于直接赋值,可以把函数名赋值给一个变量使用,可以把函数名作为参
阅读全文
摘要:函数的用法 基本的用法 基本参数分为位置参数和关键字参数,位置参数必须在关键字参数之前,关键字参数也被称为默认参数,如果没有传递该参数则需要会将默认值传递给函数 return可以返回一个或者多个值,当返回多个值的时候,结果是由多个值组成的一个元组 动态传参 使用动态传参的原因:当一个函数有很多个形参
阅读全文
摘要:文件操作 文件路径 相对路径 文件/文件夹的上一层:../, 一个路径中可以写多个../ 相对路径是相对于当前文件的路径,../是按照从左往右的方向来执行,越往左和当前文件的就越近 绝对路径 第一种:文件在本地磁盘中的绝对路径 第二种:互联网上的网页中的绝对路径 文件的读写模式 读写模式 'r+'
阅读全文
摘要:深拷贝与浅拷贝 引用赋值 基本的原理 引用赋值的变量共用一个内存,一个变量对内存操作,另外的值也会随着改变 浅层拷贝 基本原理 浅拷贝后创建了新对象,但是新对象的内容和原对象的内容是完全一样的,浅层拷贝只拷贝原有对象的第一层 深层拷贝 基本原理 深层拷贝是完完全全的拷贝所有的内容 Note 拷贝的原
阅读全文
摘要:字典的常用操作及is和==的比较 字典的常用操作 字典由key和value组成 key必须是可哈希的(不可变) 字典的增删改查 字典的其他操作 字典的嵌套 is和==的比较 数字和字符串 列表的比较 元组的比较 字典的比较 Note 小数据池: 小数据池是python中专门为字符串和数字设置的存储
阅读全文
摘要:字符串、列表、元组的常用操作 字符串 1.去除空格 strip() s1 = ' 测试程序 ' print(s1.strip()) 去除两端的空格, 可以用于用户输入时去掉输入 内容两端的多余空格,括号内的是被去除的内容,不写默认为空格 print(s1.lstrip()) 去除左边的空格 prin
阅读全文
摘要:运算符 支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。 | 运算符 | 描述 | | | | | `[:]` | 下标,切片 | | | 指数 | | `+ ` | 按位取反, 正负号 | | `/ %`
阅读全文
摘要:视图类与视图集的使用 一、视图类:View、APIView、GenericAPIView View是Django提供的一个视图类,类的返回值需要用到HttpResponse、JSONResponse (一)、APIView 继承自Django中定义的View,但和View有两个区别: 返回数据用到的
阅读全文
摘要:[TOC] DRF框架中分页功能接口 一、在框架中提供来三个类来实现分页功能,PageNumberPagination、LimitOffsetPagination、CursorPagination 1. PageNumberPagination是页码分页,这个类可以进行全局设置 1. LimitOf
阅读全文
摘要:框架之反序列化请求数据的校验 序列化与反序列化 序列化: GET 反序列化:PUT、PATCH、POST 反序列化的数据校验 数据校验方式有三种: 直接在字段中添加属性的方式来进行校验 class UserInfoSerializer2(serializers.Serializer): userna
阅读全文
摘要:序列化类中的自定义字段设置 1.针对具有choices属性的字段的用法 这类型字段格式都是一个字典类型,数据库中存储key,给客户端显示的是对应的value,但是正常的数据库操作只能读取key,拿不到value,这个时候需要用到source方法。 Note 格式为:source = 'get_提取的
阅读全文
摘要:解析器 一、Django中request.POST和request.body 请求头要求:只有当请求头中的Content Type= application/x www form urlencoded时,requst.POST中才有值(才去request.body中解析数据)。 传输数据的格式要求:
阅读全文
摘要:框架之开发中的版本传递问题 一、通过get传参的方式 1.自定义接收参数类 class ParamVersion(object): def determine_version(self, request, args, kwargs): version = request.query_params.g
阅读全文
摘要:rest_framework框架下的Django声明和生命周期 Django声明周期(request) 客户端发起请求 请求经过wsgi wsgi: 是一个协议 web服务网关接口,即在web服务器和web应用之间做一个协议规范。这个协议不属于Django,Django只是运用wsgi生成socke
阅读全文
摘要:[TOC] 限流(访问频率)组件的使用 框架中限流功能的实现依赖于封装好的限流类,设置方式上分为全局设置和局部设置、继承类设置和自定义类设置。如果要实现限流功能则必须设置DEAFULRT_THROTTLE_CLASSES和DEAFULRT_THROTTLE_RATES 自定义限流类 限流类的基本思路
阅读全文

浙公网安备 33010602011771号