参数传递在python中

时间:2017-02-13 15:53:25

标签: python parameters parallel-processing

我是Python新手,对参数传输有点困惑: 我有两种方法:

def convert(self, ipnb, indices = []):
    with self.fopen(ipnb, u'r') as f:
        emptyIndicesList = not indices
        #some code

def test_read(self):
    s = self.convert(self, u'test.ipynb')
    #some code

我遇到了两个问题:

  1. 如果我按原样运行代码self.fopen(ipnb, u'r') as f抛出...... 但是,如果我将with self.fopen(ipnb, u'r') as f更改为      self.fopen(u'test.ipynb', u'r') as f它正常运作

  2. emptyIndicesListfalse,我希望它是true,因为我认为我使用的是默认参数 - 空列表 我在参数传输中缺少什么?如何解决上述问题?

  3. 谢谢:)

1 个答案:

答案 0 :(得分:1)

您将上下文作为第一个参数传递给函数 convert

s = self.convert(self, u'test.ipynb')更改为s = self.convert(u'test.ipynb'),这将解决您的两个问题。