Python新手求助:如何从其他文件的类中正确导入方法?
解决Python自定义类方法导入问题
嘿,别着急,这个问题其实是因为你对Python中类方法的导入逻辑不太熟悉导致的,我给你一步步讲清楚:
错误原因
你尝试直接导入create方法,但create并不是lib.myToken模块里的顶级函数,它是TokenMgr类中的实例方法——也就是说,这个方法必须依附于TokenMgr的实例才能被调用,不能单独从模块里导入。
正确的操作方式
这里有两种常规的正确做法,你可以任选一种:
方法1:导入模块后访问类并实例化
# 导入整个lib.myToken模块 import lib.myToken # 先创建TokenMgr类的实例 token_manager = lib.myToken.TokenMgr() # 通过实例调用create方法 token_manager.create(你的私钥, 你的邮箱)
方法2:直接导入类再实例化调用
这是更常用的方式,代码会更简洁:
# 直接从模块导入TokenMgr类 from lib.myToken import TokenMgr # 实例化类 token_manager = TokenMgr() # 调用实例的create方法 token_manager.create(你的私钥, 你的邮箱)
额外注意事项
- 确保你的
lib目录里有一个空的__init__.py文件,这样Python才会把lib识别为一个可导入的包。如果没有的话,直接在lib文件夹里新建一个空文件就行。 - 除非有特殊需求,不建议把类方法直接导出为模块级别的函数(比如手动在
myToken.py里写create = TokenMgr().create),这样会破坏面向对象的结构,也容易让代码变得混乱。
内容的提问来源于stack exchange,提问作者noober
相关产品推荐
相关产品推荐

