【问题标题】:Easy way to test python class in vscode?在 vscode 中测试 python 类的简单方法?
【发布时间】:2020-07-30 20:29:10
【问题描述】:

我只是想知道使用 VScode/终端测试 python 类的最简单方法。例如,我有这段代码。

class GaussDiscrimAnalysis:
def __init__(self, inputList):
    self.mainList = inputList
    self.numOfFeatures = inputList.length - 1
    self.thetas = [0.0] * self.numOfFeatures
    self.numOfExamples = inputList.length
    self.yLoc = self.numOfFeatures

def calcPhi(self):
    initalSum = 0.0
    for i in self.mainList:
        initalSum+=i[self.yLoc]
    initalSum/=self.numOfExamples
    self.phi = initalSum

我希望能够创建一个小输入并使用所述 unput 创建一个 GaussDiscrimAnalysis 对象,然后从终端或某些 VScode 扩展运行特定函数(例如 calcPhi)。

最好的方法是什么?谢谢

【问题讨论】:

    标签: python visual-studio-code terminal


    【解决方案1】:
    class GaussDiscrimAnalysis:
        def __init__(self, inputList):
            self.mainList = inputList
            self.numOfFeatures = len(input_list) - 1    # (1)
            self.thetas = [0.0] * self.numOfFeatures
            self.numOfExamples = len(input_list)    # (1)
            self.yLoc = self.numOfFeatures
    
        def calcPhi(self):
            initalSum = 0.0
    
            for i in self.mainList:
                initalSum += i[self.yLoc]    # (2)
    
            initalSum /= self.numOfExamples
    
            self.phi = initalSum
    
    if __name__ == '__main__':
        with open('input.txt') as f:
            input_list = list(map(int, f.readline().strip().split()))
        
        gauss_discr_analysis = GaussDiscrimAnalysis(input_list)
        gauss_discr_analysis.calcPhi()
    
        print (gauss_discr_analysis.phi)
    

    关于我粘贴的代码的一些注释:

    1. 对于标有 (1) 的两行代码,我将 .length 调用替换为 len()
    2. 标有 (2) 的行肯定做错了什么。遍历列表元素时,i 是一个数字,您的代码试图访问数字的第 self.yLoc 个元素。请用正确的列表对象替换i
    3. 我将脚本保存在桌面上一个名为 gauss.py 的文件中
    4. 脚本的输入是保存在名为input.txt 的文件中的数字列表,该文件也保存在我的桌面上

    例如

    1. 我在 VS Code 中打开了终端,将当前目录更改为桌面并执行python gauss.py(这假设您已将 python 添加到系统路径)并且一旦您修复了标有 (2) 的错误,代码就会正常运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2017-09-17
      • 2012-07-22
      • 1970-01-01
      • 2010-09-29
      • 2020-08-29
      • 2017-06-23
      相关资源
      最近更新 更多