Python学习记录

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

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

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

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

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

flask-bootstrap 升级

2024年07月04日

flask-bootstrap 项目已经很久没有更新了,使用的 bootstrap 版本为 3.x 版本,最近项目需要改用 bootstrap 5.x 版本,于是找了一下看看有没有新的版本可用。找到了一个 bootstrap-flask 项目,这个项目是基于 Bootstrap 4 和 5 为基础。如果我们原来使用的是 flask-bootstrap,需要首先卸载 flask-bootstrap,...

Python 如何将 IP 地址转换为 int 数据类型

2024年06月05日

在 Python 中,可以通过将 IP 地址的每一部分乘以适当的权重,然后求和来将 IP 地址转换为一个整数(IP 地址转换整数)。你可以使用内置的ipaddress模块来完成这个操作。以下是一个示例代码:import ipaddress # 定义IP地址 ip_str = "217.172.189.87" # 将IP地址转换为整数 ip_int = int(ipaddress.I...

Flask Jinja2 模板转义相关问题

2024年04月21日

最近在使用 Flask 编写网站,Jinja2 作为 html 渲染模板,但是有一些 markdown 示例显示存在一些问题,具体代码如下:<li>Embed rich content such as Tweets, YouTube videos, etc. Use the complete URL: <code>{% embed https://... %}.</code> <a href="#...

sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1138, 'Invalid use of NULL value')

2024年03月13日

最近在使用 SQLAlchemy 创建模型的时候,将模型新建为数据库,却出现了这个错误:sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1138, 'Invalid use of NULL value')出现问题的原因:由于我们在模型有一个字段设置的非空属性,但是原来表中存在的数据有空值,所以会出现这个问题,下面是出现问题的...

Exception: Install 'email_validator' for email validation support.

2024年02月27日

在使用 Flask_WTF 验证码邮件的时候,出现了如下错误:Exception: Install 'email_validator' for email validation support.解决方案:安装 email-validator 执行如下命令:pip install email-validator再次运行,问题解决。黄兵个人博客原创。转载请注明出处:黄兵个人博客 - Exception...

ImportError: cannot import name 'get_debug_queries' from 'flask_sqlalchemy'

2024年02月27日

最近更新了 flask_sqlalchemy 包之后,出现了如下错误:ImportError: cannot import name 'get_debug_queries' from 'flask_sqlalchemy'经过查询官方文档,get_debug_queries 在 3.0.0 版本已经更改为 get_recorded_queries,具体说明如下:get_debug_queries i...

ImportError: cannot import name 'TimedJSONWebSignatureSerializer' from 'itsdangerous'

2024年02月27日

最近在重写一个老旧项目的时候,有一个库出现了如下错误:ImportError: cannot import name 'TimedJSONWebSignatureSerializer' from 'itsdangerous'出现问题的原因:在 itsdangerous 的最新版本中,TimedJSONWebSignatureSerializer 不再可用。解决方案:修改原来代码为:from its...

SQLAlchemy 重复过滤查询

2024年02月02日

如果我们需要对 SQLAlchemy 模型中的某一列数据进行去重,你可以使用 distinct 函数。以下是一个示例,演示如何使用 distinct 去重 phone_number:from sqlalchemy import distinct # 假设你有一个查询对象 query = db.session.query(SMSReceiveHistory.phone_number).dis...