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
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
聲明
n = n and int(n)
將首先評估n
。如果其值爲0或""
或False
(或若干other "falsy" values),則n
將保持不變。如果n
是別的,則將調用int(n)
將其轉換爲整數,結果將被分配給n
。
這是一個非常不尋常的事情寫,它不明確從你發佈的代碼爲什麼作者不只是寫n = int(n)
。
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)
。如果n
或int(n)
爲零,則返回0.如果兩者都不爲零,則返回int(n)
。值得注意的是(a)這段代碼不必要的混淆,(b)僅僅使用int(n)
就可以簡化;如果n
爲零,則int(n)
爲零,因此首先檢查n
毫無意義。