Python学习记录
Python的创始人为
吉多·范罗苏姆
(Guido van Rossum)
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象、直译式的电脑程序语言。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、泛型编程多种编程范式。
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触发时机:在每次请求处理前执行。作用:通常用于在视图函数执行前准备数据或检查用户状态。典型用途:验证用户身份或权限。设置全局变量(如项目菜单)供视图函数和模板使用。执行请求预处理逻辑,例如数据库连...
Python 两种导入方式的区别
2024年10月17日
在写 Python 代码的时候,我们可以使用这种方式导入:导入方式1from ..models import (A, B, C, D,E)也可以使用这种方式导入:导入方式2from ..models import A, B, C, D,E两种导入方式有什么区别呢?导入方式 1优点:格式清晰:当导入的类或模块较多时,这种格式让代码更简洁和易读。方便维护:如果以后需要添加或删除某个模块,只需在括号内编...
TypeError: Object of type CaseInsensitiveDict is not JSON serializable
2024年10月09日
需要将后端的 Json 数据在前端格式化输出,具体示例代码如下:def index(): init_swift = OpenStackSwiftUtil(current_user.generate_auth_token(), current_user.username) # 验证账户 try: containers = init_swift.get_...