鍍金池/ 問答/Python  Linux/ Python語言可以在判斷語句中賦值嗎?

Python語言可以在判斷語句中賦值嗎?

以前是做C++和Java的,剛剛接觸Python。在Java和C++中,為了減少函數(shù)調(diào)用次數(shù),在while或者if語句的判斷條件那里直接賦值比較方便。但是在Python中下面代碼報(bào)錯(cuò)了,想請問Python是不允許這種方式的嗎?

class Fib(object):
    def call(self, num):
        L = []
        while (length = len(L))<num:
            if length==0:
                L.append(0)
            elif length==1:
                L.append(1)
            else:
                L.append(L[-1]+L[-2])
        return L

f = Fib()
print f(10)

上述代碼的while語句判斷條件那里報(bào)錯(cuò)

回答
編輯回答
夏夕

3.7版才允許,語法為length := len(L)
3.7版之前的不可以,需單獨(dú)一句復(fù)制

https://www.roncoo.com/course...

2017年11月8日 21:02