You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CoCalc中从另一个.sagews文件导入函数与类对象?

问题原因与解决办法

核心问题

CoCalc的.sagews是交互式笔记本文件,内部包含单元格分隔符、元数据等额外内容,并非Python/Sage可直接导入的模块格式。Python的导入机制仅识别纯代码文件(比如.py或Sage专用的.sage文件),所以直接导入.sagews会失败。

解决步骤

  1. 提取纯代码到模块文件
    把TestUtility.sagews里的类和函数代码单独复制出来,在同一个项目目录下创建新文件TestUtility.sage,内容如下:

    class TestClass():
        def __init__(self, number = 0):
            self.number = number
            self.square = number^2
            self.cube = number^3
            
    def TestDef(n):
        return(n,n^2,n^3)
    
  2. 在TestCalculations.sagews中正确导入
    使用你最初写的导入语句即可:

    from TestUtility import *
    TestNumber = TestDef(5)
    TestClassObject = TestClass(3)
    

验证结果

  • 调用TestNumber会返回(5, 25, 125)
  • TestClassObject.square的值是9(若要得到25,需创建TestClass(5))

额外小技巧

如果想保留TestUtility.sagews的笔记本记录功能,可在该笔记本里执行%save TestUtility.sage 1(假设代码在第1个单元格),快速将单元格代码导出为.sage模块文件,无需手动复制。

内容的提问来源于stack exchange,提问作者gradintherockies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 23:24:40