Python学习记录

Python的创始人为
吉多·范罗苏姆
(Guido van Rossum)

    Python英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象直译式电脑程序语言。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    与SchemeRubyPerlTcl动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

    Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。

Python支持命令式程序设计面向对象程序设计函数式编程面向侧面的程序设计泛型编程多种编程范式。

Python Redis 单例模式

2025年04月01日

这是一个通过单例模式连接 Redis 数据库的代码:class RedisOperation(object): def __new__(cls): # 使用单例模式连接 Redis if not hasattr(cls, 'instance'): pool = redis.ConnectionPool(host=current...

TypeError: create_table_comment() takes 2 positional arguments but 3 were given

2025年02月23日

最近在使用 SQLAlchemy 的时候,对 SQLAlchemy 模型注释进行更改的时候,同步模型与 MySQL 数据库,出现了如下错误:TypeError: create_table_comment() takes 2 positional arguments but 3 were given具体错误代码:with op.batch_alter_table('cloud_user_notifi...

sqlalchemy.exc.InvalidRequestError: 'model' does not support object population - eager loading cannot be applied.

2024年12月17日

最近在使用 SQLAlchemy 的时候,出现了这个错误:sqlalchemy.exc.InvalidRequestError: 'model' does not support object population - eager loading cannot be applied.具体模型代码:class Category(db.Model): __tablename__ = 'cat...

TypeError: 'builtin_function_or_method' object is not iterable

2024年12月17日

最近在编写 Python 代码的时候,出现了如下错误: File "E:\Code\project\app\templates\document\index.html", line 40, in block 'content' {% for child in item.items %}TypeError: 'builtin_function_or_method' object is not...

Flask 前端模板页面空列表判断

2024年11月27日

当 files 的值为 [] 的时候,使用下面判断存在问题:{% if files.length==0 %} {% endif %}在 Jinja2 模板中,length 是一种属性而不是方法,因此不能用 files.length。而应该直接使用 Jinja2 提供的过滤器 |length 来获取列表长度。正确的判断方式是:{% if files|length == 0 %} <!-...

Flask g AttributeError 问题的解决方案

2024年11月10日

最近代码出现了 AttributeError: projects 的错误,具体代码如下:if not g.projects: # 如果不存在 g.projects,重新加载 g.projects g.projects = CloudProject.query.all()出现问题的原因:出现 AttributeError: projects 错误通常是因为在请求上下文中 g 对象...

Flask before_request 和 before_app_request 有什么区别?

2024年11月08日

before_request 和 before_app_request 的主要区别在于它们在请求处理流程中的触发范围:1. before_request触发范围:在每个请求进入特定的蓝图或应用级别的视图函数前执行。应用方式:可以用于整个应用,也可以仅用于特定蓝图。使用 @app.before_request 装饰器会在整个应用级别的请求之前触发。在蓝图中定义 before_request,则仅对该...

Flask before_request 和 after_app_request 有什么区别,两者的作用?

2024年11月08日

before_request 和 after_app_request 是 Flask 提供的两个钩子,用于在请求的不同阶段执行代码。它们的主要区别在于触发的时间点和作用:1. before_request触发时机:在每次请求处理前执行。作用:通常用于在视图函数执行前准备数据或检查用户状态。典型用途:验证用户身份或权限。设置全局变量(如项目菜单)供视图函数和模板使用。执行请求预处理逻辑,例如数据库连...