def save_file(self, outputfilename = self.image_filename):
self.file.read(outputfilename)
....
在第一行給出了NameError: name 'self' is not defined
。看來,Python不接受它。我該如何重寫代碼,以免引發異常?使用self。*作爲方法的默認值
def save_file(self, outputfilename = self.image_filename):
self.file.read(outputfilename)
....
在第一行給出了NameError: name 'self' is not defined
。看來,Python不接受它。我該如何重寫代碼,以免引發異常?使用self。*作爲方法的默認值
使用默認值None
並檢測該值。
def save_file(self, outputfilename=None):
if outputfilename is None:
outputfilename = self.image_filename
self.file.read(outputfilename)
....
這種模式的問題,其誤導。 – Nikolai
def save_file(self, outputfilename = None):
if not outputfilename:
outputfilename = self.image_filename
self.file.read(outputfilename)
....
def save_file(self, outputfilename=None):
outputfilename = outputfilename or self.image_filename
self.file.read(outputfilename)
甚至
def save_file(self, outputfilename=None):
self.file.read(outputfilename or self.image_filename)
這可能是沒什麼用一個變量,但如果你有,比方說,5,這使得代碼更易於閱讀,在我看來。
函數定義發生在不同的範圍和不同的時間。 –
如果確實有效,那肯定會很好。使代碼更清潔。我猜這會打開一些其他的Pandoran Box來實現? –