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支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、泛型编程多种编程范式。
在 Python 中理解 @property / @<prop>.setter(详解 + 示例)
2025年09月22日
1) 基本概念(一句话版) @property 把一个方法变成像属性一样访问的“访问器”。配合 @<prop>.setter 可以实现“读写受控的属性”。 它是 Python 的 描述符(descriptor) 的高阶用法。2) 最简单的例子class User: def __init__(self, first, last): self.first = first...
werkzeug.security 的 enerate_password_hash 介绍
2025年09月19日
这里有一段密文:pbkdf2:sha256:600000$5xHxCjtSjgkP73sY$973324bac010ee392f4999151b1426cf83c90bae8b5ba1647d1a7b65d55d9771 这是由 Werkzeug 的 generate_password_hash 生成的哈希密码。我们可以一步步拆解:1️⃣ 格式 Werkzeug 生成的 PBKDF2 密文格式...
Flask 更新了模板,部署到服务器,是否需要重启程序
2025年09月16日
不一定要重启,但建议重启,原因如下:1. Flask 模板文件的加载机制 开发模式(debug=True): Flask 会开启模板自动重载,模板文件修改后会自动生效,无需重启程序。 生产模式(debug=False): Flask 默认会缓存模板(Jinja2 会启用 FileSystemLoader 的缓存),模板更新后不会立即生效,除非: 清空 Jinja2 缓...
Python print 如何格式化输出
2025年09月16日
最近再调试 Python 程序的时候,需要格式化输出,具体代码如下:d = {'area_code': None, 'balance_after': 0.0, 'cost': 5.0, 'end_time': 'Thu, 16 Oct 2025 07:37:48 GMT', 'phone_number': '9559640863', 'start_time': 'Tue, 16 Sep 2025 ...
Flask 在 Ubuntu 22.04 初始化数据库过程
2025年08月27日
最近需要在云服务器上初始化数据库,使用的是 Flask,平时一般是在本地直接初始化数据库,完成模型与数据库的同步,但是最近本地连接远程数据库非常缓慢,所以只能在远 Ubuntu 22.04 上初始化数据库。下面是详细过程:项目已经部署完成,直接在终端执行如下命令:export FLASK_APP=app:create_app export FLASK_ENV=development flask...
Jinja2 模板如何取整
2025年04月28日
现在有一段 Jinja2 的模板代码:<span class="text-gray-500 fw-bold fs-6">/{{ bandwidth }}</span>现在我们需要对 bandwidth 取整,应该怎么修改代码?✅ 方式 1:使用 int 过滤器<span class="text-gray-500 fw-bold fs-6">/{{ bandwidth | int }}</span>...
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...