2017-02-13 17 views
0

我是新來的Python和有點困惑參數傳遞: 我有2種方法:parameteres在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 

我遇到的2個問題:

  1. 如果我運行代碼因爲是self.fopen(ipnb, u'r') as f拋出...... 但如果我改變with self.fopen(ipnb, u'r') as fself.fopen(u'test.ipynb', u'r') as f它工作正常

  2. emptyIndicesListfalse,我期望它是true,因爲我認爲我使用的是默認參數 - 空列表 我在參數傳輸中缺少什麼?上述問題應該如何解決?

謝謝:)

回答

1

您傳遞上下文作爲第一個參數傳遞給函數轉換

更改s = self.convert(self, u'test.ipynb')改爲s = self.convert(u'test.ipynb')它應解決您的兩個問題。