conn是约定俗成的变量名,通常指数据库连接对象(如sqlite3.Connection)或socket连接对象(socket.socket),具体类型取决于上下文;其方法需按对应库规范调用,不可混用。

conn 不是 Python 内置的关键字或函数,而是一个**约定俗成的变量名**,通常代表“connection”(连接),用于存储数据库连接对象或网络套接字连接对象。
conn 多数情况下指数据库连接对象
使用 pymysql、sqlite3、psycopg2 等库时,调用 connect() 方法会返回一个连接对象,开发者习惯把它赋值给变量 conn:
import sqlite3; conn = sqlite3.connect("test.db")import pymysql; conn = pymysql.connect(host="localhost", user="root", password="123", database="demo")
这个 conn 对象提供关键方法:
-
conn.cursor():获取游标,用来执行 SQL -
conn.commit():提交事务(对 insert/update/delete 生效) -
conn.rollback():回滚未提交的更改 -
conn.close():关闭连接,释放资源(重要!)
conn 也可能指网络通信中的 socket 连接
在 socket 编程中,server_socket.accept() 返回两个值:conn 和 addr。其中 conn 是一个 客户端 socket 对象,代表与该客户端建立的 TCP 连接:
立即学习“Python免费学习笔记(深入)”;
自从百度屏蔽淘宝客网站、淘宝抛弃淘宝客之后,个人站长集体陷入了恐慌之中。此时,什么值得买网的异军突起引起了广大个人站长的极大关注。做一个什么值得买一样的导购网站成了众多个人站长的一致心愿! TP-COUPON 导购系统 即是让个人站长实现此心愿的绝佳选择! 欢迎个人站长选用。V1.1版 更新记录:1.修正请求时查询淘宝店铺错误的bug2.删除一些无用的代码
-
conn.recv(1024):接收客户端发来的数据 -
conn.sendall(b"Hello"):向客户端发送响应 -
conn.close():断开该客户端连接
此时 conn 不是数据库对象,而是可读写的通信通道。
注意:conn 本身没有固定类型,全看你怎么创建它
它的实际类型取决于你用的库和上下文:
-
sqlite3.Connection(SQLite) -
pymysql.connections.Connection(PyMySQL) -
socket.socket(标准 socket 库)
所以看到代码里有 conn.execute(...),基本可以判断这是数据库连接;如果是 conn.send(...),那一定是 socket 连接。
常见误区提醒
有人误以为 conn.execute() 是通用写法——其实不是:
- SQLite 的
Connection对象 不直接支持.execute(),必须通过cursor()调用 - PyMySQL 的
Connection对象也一样,得先cursor = conn.cursor(),再cursor.execute(...) - 只有少数 ORM 或封装库(如某些自定义工具类)才可能让
conn.execute()成立










