2017-02-09 80 views
2
def get(self){ 
    n=self.get.request(n,0) 
    n=n and int(n) 
    self.render(fizzbuzz.html,n=n) 
} 

在此什麼是線n=n and int(n) 的含義,這是代碼的線從udacity cs253當然了。是的u能也建議我任何類似的課程,但更新的,因爲CS 253路到老......什麼是線的含義N = N和INT(n)的在python

回答

1

聲明

n = n and int(n) 

將首先評估n。如果其值爲0或""False(或若干other "falsy" values),則n將保持不變。如果n是別的,則將調用int(n)將其轉換爲整數,結果將被分配給n

這是一個非常不尋常的事情寫,它不明確從你發佈的代碼爲什麼作者不只是寫n = int(n)

3

and運算符返回它所看到的第一個「falsey」值的值,或者如果兩者都爲真,則返回第二個值。所以,你必須:

>>> 0 and False 
0 
>>> False and 0 
False 
>>> 0 and 1 
0 
>>> -2 and 0 
0 
>>> 5 and 3 
3 

你的情況,你有n and int(n)。如果nint(n)爲零,則返回0.如果兩者都不爲零,則返回int(n)。值得注意的是(a)這段代碼不必要的混淆,(b)僅僅使用int(n)就可以簡化;如果n爲零,則int(n)爲零,因此首先檢查n毫無意義。

相關問題