class Class_test:
def __init__(self):
pass
# 若无则报错AttributeError: 'Class_test' object has no attribute 'fun_zip'
def fun_zip(
self,
df_arg=pd.DataFrame(),
bool_arg=False
):
# 每列元素打包
zipped = zip(*[df_arg.iloc[i] for i in range(df_arg.shape[0])])
# 是否包含标题
if bool_arg:
list_zip = [(col_name, *row) for col_name, row in zip(df_arg.columns, zipped)]
else:
list_zip = [tuple(row) for row in zipped]
return list_zip
def fun_sum(
self,
df_arg=pd.DataFrame(columns=['col0', 'col1', 'col2_重量']),
int_arg=0,
str_keyword='重量',
str_suffix='合计'
):
# 生成1行表格
# 增加合计列,填入合计重量
df_zip_arg = pd.DataFrame(
data={
key: str(value) for key, value in zip(df_arg.columns, self.fun_zip(df_arg))
},
index=[int_arg]
)
obj_test = Class_test() # 若无括号则报错TypeError: Class_test.fun_sum() missing 1 required positional argument: 'self'
obj_test.fun_sum()
'''
报错信息提示缺少一个必需的位置参数'self',这是因为在调用obj_test.fun_sum()时,没有传入self参数。
在Python中,当你调用一个类的方法时,需要将类的实例作为第一个参数传递给方法。
在这种情况下,你需要创建Class_test的一个实例,并将其作为参数传递给fun_sum()方法。
'''