DC's blog DC's blog
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)

DC

愿我一生欢喜,不为世俗所及.
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)
  • Django

  • 第一次学drf

    • Postman和restful
    • APIView
    • Serializer
    • ModelSerializer
    • drf的请求与响应
    • drf的视图组件
    • drf的路由组件
    • 认证权限频率
    • 过滤排序分页异常
    • 源码分析
    • jwt
    • 大回顾
    • 零散的知识点
  • 第二次学drf

  • 温故知新

  • flask

  • 后端
  • 第一次学drf
DC
2023-01-06

零散的知识点

学是学不完的,重点掌握的是编程思想,看文档看源码解决问题的能力.不同的框架都是相通的.

何为方法?何为函数?
函数 -- 有几个值就传几个值.
方法 -- 会自动传值 
       绑定方法 
           绑定给类的方法,对象可以调用吗?可以! 会自动将对象所在的类传入.
           绑定给对象的方法,类可以调用吗?可以! 该方法会被变成普通函数被类调用,有几个值就传几个值.
           (So,方法不一定就是方法,要看谁来调用!)
           Ps: 类.类方法() -- BookView.as_view()
       静态方法(严格意义上来将静态方法是函数,我们称呼其为方法罢了!)
  


何为接口、鸭子类型?
父类有run、speak方法,继承它的子类也有!就是鸭子类型!
虽然python推崇"鸭子类型"(口头约束),但这在实际的编码中不好.
我们通常会写"接口"(强制约束),父类强制的规范子类必须要有哪些方法!接口强制约束/规范了子类的行为 -- abc模块、raise



何为继承、何为派生? -- python不太讲究这两玩意儿的区别.
class Animal:
    def run(a,b):pass
# -- 子类又叫做派生类是因为子类比父类多了一些东西.
class Person(Animal):
    # def run(a,b):pass  # -- 参数都完全一样,重写
    def run(a,c):pass    # -- 参数不一样,派生
    def speak():pass     # -- 此方法也叫做派生方法,因为父类没有
    
    
Http协议?
请求协议 - 请求首行、请求头、请求体 请求体有三种编码格式,请求头里常用的属性:cookie
响应协议 - 响应首行、响应头、响应体 响应头里常用的属性:cookie(k-v的形式)
  

猴子补丁?
对象也好、类也好,在执行过程中动态的替换对象的属性或方法.就叫做猴子补丁!! -- ViewSetMixin的源码就应用啦!!


问: 在浏览器中输入一个地址, 一直到数据返回, 整个经历的过程.
  
  
深浅拷贝问题?
Ps: queryset对象有个内置的拷贝方法, qs._clone 看源码就晓得了.里面作者注释写的明明白白.
from copy import copy, deepcopy

l = [1, 2, 4]
l2 = [5, 6, l]
# -- 直接赋值
l3 = l2
l3[0] = 1
print(l3)  # [1, 6, [1, 2, 4]]
print(l2)  # [1, 6, [1, 2, 4]]
# -- 浅拷贝(只拷贝了一层,第二层的id号是一样的)
l4 = copy(l2)
l4[0] = 11
print(l4)  # [11, 6, [1, 2, 4]]
print(l2)  # [1, 6, [1, 2, 4]]
l4[2][1] = 999
print(l4)  # [11, 6, [1, 999, 4]]
print(l2)  # [1, 6, [1, 999, 4]]
print(id(l4[2]), id(l2[2]))  # 140307003830720 140307003830720
# -- 深拷贝(递归拷贝,第二层的id号不一样)
l5 = deepcopy(l2)
l5[2][2] = 777
print(l5)  # [1, 6, [1, 999, 777]]
print(l2)  # [1, 6, [1, 999, 4]]
print(id(l5[2]), id(l2[2]))  # 140307003831808 140307003830720
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

大回顾
drfCBV

← 大回顾 drfCBV→

最近更新
01
deepseek本地部署+知识库
02-17
02
实操-微信小程序
02-14
03
教学-cursor深度探讨
02-13
更多文章>
Theme by Vdoing | Copyright © 2023-2025 DC | One Piece
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式