Python 类中的不同方法不修改类变量

Python 类中的不同方法不修改类变量,python,class,Python,Class,我想读一个CSV文件,它是一个月结单,并按商户排序。我将每天解析为一个列表,格式为[“完成日期”、“说明”、“已付款”、“已付款”、“汇出”、“汇入”、“余额”、“类别”、“备注] 我编写的类,到目前为止只有一个按商户排序的方法(Description): 类实例化的主文件 import csv import SpentClass csvFile = open("statement.csv") csvReader = csv.reader(csvFile, delimite

我想读一个CSV文件,它是一个月结单,并按商户排序。我将每天解析为一个列表,格式为
[“完成日期”、“说明”、“已付款”、“已付款”、“汇出”、“汇入”、“余额”、“类别”、“备注]

我编写的类,到目前为止只有一个按商户排序的方法(
Description
):

类实例化的主文件

import csv
import SpentClass

csvFile = open("statement.csv")
csvReader = csv.reader(csvFile, delimiter=';')

Instance = SpentClass.Spent()

for line in csvReader:
    Instance.SortByMerchant(line)
    
Instance.PrintMerchant()

PrintMerchant
不起作用,如果我添加一条打印语句,它只会显示一个空的dict(),
SortByMerchant
。如何确保类实例中的变量得到更新?

使用
self.
时,它指的是对象变量,而不是类变量

您应该使用
,例如,在您的案例中,
花费。


话虽如此,在阅读您的代码时,我不太确定使用类变量是您希望从这里开始的;它看起来更像是可以简单地将对象变量用于特定目标。

我尝试将
self.
替换为
已用。
用于变量(而不是函数参数),但仍然不起作用。我不确定我是否理解你所说的类变量和对象变量的意思。我只打算使用这个类的一个实例。这是。我实例化一个<代码>用户名>代码>对象,所有后续调用到代码> SotByMyRealgs<代码>将在C++中更新同一个<代码>商家<代码>。
import csv
import SpentClass

csvFile = open("statement.csv")
csvReader = csv.reader(csvFile, delimiter=';')

Instance = SpentClass.Spent()

for line in csvReader:
    Instance.SortByMerchant(line)
    
Instance.PrintMerchant()