我是创建课程的初学者。在我的课上,我定义了一个输出csv文件的函数。但是,我想将csv文件名命名为future instance的名称 这是一个虚拟代码,希望可以解释我想要做什么
class output
function()
df.to_csv('output.csv')
a=output()
a.function()
我正在寻找的结果:输出csv文件 - a.csv
我如何实现上述目标?
答案 0 :(得分:0)
编写意图的适当方法是将csv文件的名称(或其某些部分)传递给对象的构造函数:
#UNTESTED
class output:
def __init__(self, myname):
self.myname = myname
def function():
df.to_csv(self.myname + '.csv')
a=output('a')
a.function()
没有任何有用的方法可以准确地完成您的要求。对象本身不知道绑定到对象的变量的名称。
但即使变量的名称可用,请考虑以下事项:
a=output()
b=a
a.function()
b.function()
两个.function()
调用正好发生在同一个对象上。该对象无法知道是创建a.csv
还是b.csv
。
更糟糕的是,
lst[4] = dct["hello"] = output()
假设调用.function()
,文件名是什么?
答案 1 :(得分:0)
我认为由于Python极具动态的能力,你所描述的是。然而,它将是笨拙的,很可能不是实现目标的正确方法。考虑简单地做
class output:
def function(name):
df.to_csv(name + '.csv')
a = output()
a.function('a')
一般来说,您选择的变量名永远不会影响代码的最终结果。