Ame*_*Ame 2 python if-statement
说if n什么意思?我不明白为什么if n在if语句中工作.不应该有一个参数,如if n == 0什么,而不仅仅是if n?
def AddMusicAtPosition(self, newMusic, n):
if n:
self.nextMusic.AddMusicAtPosition(newMusic, n - 1)
else:
newMusic.nextMusic = self.nextMusic
self.nextMusic = newMusic
Run Code Online (Sandbox Code Playgroud)
iBu*_*Bug 10
在Python中,if n相当于if bool(n).
对于整数,bool(i)等于i != 0.
如果n是类的实例,那么
__bool__,则n.__bool__()调用__bool__但是__len__,则n.__len__() != 0进行评估__bool__也不定义__len__,则它总是计算为True(想想n is not None).