首页 > 解决方案 > 你可以在 python 类的静态方法中使用 self 参数吗?

问题描述

我正在制作一个 sqlite3 数据库,其中,我有一个静态方法,可以显示 sqlite3 文件中存在的所有表,但是要让该文件访问游标对象,它需要 self.conn.cur,如果制作 cur全局变量所有其他方法都必须更改,所以我可以在静态方法中使用 self arg 吗?请帮忙。提前致谢。

标签: pythonpython-3.xclass

解决方案


不,静态方法不会获得任何引用self-self是正在调用该方法的对象,而在静态方法中,没有对象。如果该方法不是静态的 - 即它需要一个带有连接集的对象,请不要将其定义为静态并在对象上调用它。

另一种选择是调用静态方法并将连接作为参数提供。这允许调用代码在调用时确定应该使用哪个连接来检索信息。


推荐阅读