说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
答案 0 :(得分:10)
在Python中,import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { enableProdMode } from '@angular/core';
import { AppModule } from './app-module'
export const environment = {
production: false
};
if (environment.production) {
enableProdMode();
}
console.log('Bootstrap AppModule >>>>');
platformBrowserDynamic().bootstrapModule(AppModule);
等效于if n
。
对于整数,if bool(n)
等于bool(i)
。
如果i != 0
是类的实例,则
n
,则称为__bool__
n.__bool__()
而是__bool__
,则评估__len__
n.__len__() != 0
也未定义__bool__
,则其总值为True(例如__len__
)。答案 1 :(得分:0)
通常情况如下:
if n==1:
但这等于:
if True:
如果条件合适,默认情况下python的所有内容均为True,因此该语句将通过,并且由于:
bool(n)
也可以是True
或False
,n
可以做到,并且如果n
为True,则代码将通过,如果{{1 }}是False,这就是它起作用的原因。
答案 2 :(得分:0)
可以测试Python中的任何值是否为真。只要它不是None
,False
,零或为空;这被认为是正确的。在the documentation中查看更多详细信息。
在您的情况下,当n
变为零时,递归应该停止,因为不认为零为True
。您可以使用以下方法进行测试:
if 0:
print('zero is true') # won't be printed
else:
print('zero is false') # will be printed
答案 3 :(得分:0)
在Python中,除False,None,0和Empty实体(字符串,列表,集合,字典)外,几乎所有内容都是True!(可能会错过其他人)
因此,如果您声明:
if n:
print(True)
如果n不为0,False,None或Empty实体,则它将打印True。
要测试值和行为,您可以执行以下操作:
ns = [None, 0, False, '', {},(), [],1, True,]
for n in ns:
if n:
print(n, 'It is True')
else:
print(n, 'it is False')
那么发生的是,如果n,则检查值n的真实性:)