我是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
我遇到了两个问题:
如果我按原样运行代码self.fopen(ipnb, u'r') as f
抛出......
但是,如果我将with self.fopen(ipnb, u'r') as f
更改为
self.fopen(u'test.ipynb', u'r') as f
它正常运作
emptyIndicesList
是false
,我希望它是true
,因为我认为我使用的是默认参数 - 空列表
我在参数传输中缺少什么?如何解决上述问题?
谢谢:)
答案 0 :(得分:1)
您将上下文作为第一个参数传递给函数 convert 。
将s = self.convert(self, u'test.ipynb')
更改为s = self.convert(u'test.ipynb')
,这将解决您的两个问题。