别院牧志知识库 别院牧志知识库
首页
  • 基础

    • 全栈之路
    • 😎Awesome资源
  • 进阶

    • Python 工匠系列
    • 高阶知识点
  • 指南教程

    • Socket 编程
    • 异步编程
    • PEP 系列
  • 面试

    • Python 面试题
    • 2022 面试记录
    • 2021 面试记录
    • 2020 面试记录
    • 2019 面试记录
    • 数据库索引原理
  • 基金

    • 基金知识
    • 基金经理
  • 细读经典

    • 德隆-三个知道
    • 孔曼子-摊大饼理论
    • 配置者说-躺赢之路
    • 资水-建立自己的投资体系
    • 反脆弱
  • Git 参考手册
  • 提问的智慧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
首页
  • 基础

    • 全栈之路
    • 😎Awesome资源
  • 进阶

    • Python 工匠系列
    • 高阶知识点
  • 指南教程

    • Socket 编程
    • 异步编程
    • PEP 系列
  • 面试

    • Python 面试题
    • 2022 面试记录
    • 2021 面试记录
    • 2020 面试记录
    • 2019 面试记录
    • 数据库索引原理
  • 基金

    • 基金知识
    • 基金经理
  • 细读经典

    • 德隆-三个知道
    • 孔曼子-摊大饼理论
    • 配置者说-躺赢之路
    • 资水-建立自己的投资体系
    • 反脆弱
  • Git 参考手册
  • 提问的智慧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 辨析

    • Python 中 exec()和 eval()的区别
    • Ptyhon 中使用 is None 而不是 ==None 问题
  • Sockets编程

  • Django

  • stackoverflow

  • Flask

  • 全栈之路

  • 面试

  • 代码片段

  • 异步编程

  • 😎Awesome资源

  • PEP

  • Python工匠系列

  • 高阶知识点

  • Python 学习资源待整理
  • 设计模式

  • 好“艹蛋”的 Python 呀!
  • FIFO | 待学清单📝
    • 代码风格
    • debug
    • 计算机书籍及知识体系
    • WSGI
    • Python 用法
    • web 框架
  • pip 安装及使用
  • 数据分析

  • 源码阅读计划

  • OOP

  • 关于 python 中的 setup.py
  • 并行分布式框架 Celery
  • 七种武器,让你的代码提高可维护性
  • 使用 pdb 调试 Python 代码
  • 每周一个 Python 标准库
  • 🐍Python
佚名
2019-11-27
目录

FIFO | 待学清单📝

  • [x] RabbitMQ 官方文档
  • [ ] Docker
  • [x] 线程池、进程池
  • [ ] 高并发框架
    • Python 也能高并发 (opens new window)
    • Python 高并发编程 (opens new window)
    • 深入理解 Python 异步编程(上) - 简书 (opens new window)
  • [ ] 数据库索引
    • 数据库索引到底是什么,是怎样工作的? (opens new window)
    • How do database indexes work? And, how do indexes help? Provide a tutorial on database indexes. (opens new window)
  • [x] redis 布隆过滤器
    • redis 专题 06 布隆过滤器 (opens new window)
    • Redis 高级主题之布隆过滤器(BloomFilter) (opens new window)
    • 基于 Redis 的布隆过滤器的实现 (opens new window)
    • 布隆过滤器(Bloom Filter)的原理和实现 (opens new window)
    • HatBoy/BloomFilter: Python+Redis 实现的 BloomFilter (opens new window)
  • [ ] 设计模式 Design Patterns Book (opens new window)
  • [x] 偏函数 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
from functools import partial

def say_hello(name,title=''):
    
    return f'Hello,{title},{name}'


def say_hello_to_doctor(name):
    return partial(say_hello,title='docker')(name)

ret = say_hello_to_doctor('Peter')
print(ret)
1
2
3
4
5
6
7
8
9
10
11
12
  1. python - How does functools partial do what it does? - StackOverflow (opens new window)
  2. functional programming - Python: Why is functools.partial necessary? - StackOverflow (opens new window)
  • [x] assert
  1. 断言应该用于:

    1. 防御性编程;
    2. 运行时检查程序逻辑;
    3. 核对合约(例如前置条件及后置条件) ;
    4. 程序不变量; 以及——
    5. 检查过的文件
  2. 不要在以下情况下使用断言:

    1. 永远不要用它们来测试用户提供的数据,或者在任何情况下都必须进行检查的任何事情。
    2. 不要使用 assert 来检查在正常使用程序时可能会失败的任何事情。断言是针对特殊故障情况的。您的用户永远不应该看到 AssertionError; 如果他们看到了,那么这就是一个需要修复的 bug。
    3. 特别地,不要仅仅因为 assert 比显式测试写的代码少就使用 assert。assert 不是懒惰程序员的快捷方式。
    4. 不要使用它们来检查公共库函数的输入参数(私有参数是可以的) ,因为您不能控制调用者,也不能保证它永远不会破坏函数的约定。
    5. 不要对您希望从中恢复的任何错误使用 assert。换句话说,您没有理由在生产代码中捕获 AssertionError 异常。
    6. 不要使用过多的断言,以免代码冗杂。

notes/when-to-use-assert.md at master · emre/notes (opens new window)

# 代码风格

Python 重构代码的一些模式 | Slient Plant (opens new window)

# debug

import sys

def get_cur_info():
    print(sys._getframe().f_code.co_filename)  # 当前文件名
    print(sys._getframe(0).f_code.co_name)  # 当前函数名
    print(sys._getframe(1).f_code.co_name)  # 调用该函数的函数的名字,如果没有被调用,则返回module
    print(sys._getframe().f_lineno) # 当前行号

import sys, os

try:
    raise NotImplementedError("No error")
except Exception as e:
    exc_type, exc_obj, exc_tb = sys.exc_info()
    fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
    print(exc_type, fname, exc_tb.tb_lineno)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

获取异常行号参考自 (opens new window) Python 程序如何高效地调试? - 知乎 (opens new window) 打印日志 (log) 是比单步跟踪 (debugger) 更好的 Python 排错手段吗? - 知乎 (opens new window)

# 计算机书籍及知识体系

(不会真有人看完了吧?) NGTE Books (opens new window)

# WSGI

python wsgi 简介 | Cizixs Write Here (opens new window)

# Python 用法

multithreading - What is the use of join() in Python threading? - StackOverflow (opens new window)

# web 框架

Moving from Flask to FastAPI | TestDriven.io (opens new window)

FastAPI vs Flask | Is FastAPI Right Replacement for Flask? (opens new window)

Compare Flask vs Fast API | CodeAhoy (opens new window)

Choosing between Django, Flask, and FastAPI | Section (opens new window)

Flask vs FastAPI first impressions - DEV Community (opens new window)

编辑 (opens new window)
#TODO#待学清单
上次更新: 2024-07-15, 08:03:22
好“艹蛋”的 Python 呀!
pip 安装及使用

← 好“艹蛋”的 Python 呀! pip 安装及使用→

最近更新
01
提升沟通亲和力的实用策略
03-26
02
工作
07-15
03
如何选房子
06-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 IMOYAO | 别院牧志
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式