2
我有一個Position
類,它有兩個屬性,Lat
和Lon
。Python - 按給定順序對某些類屬性進行迭代
我想通過實施iterator
協議的下列API(但一些谷歌搜索只是讓我感到困惑更多):
pos = Position(30, 50)
print pos.Latitude
> 30
print pos.Longitude
> 50
for coord in pos:
print coord
> 30
> 50
print list(pos)
> [30, 50]
完美。正如我懷疑的那樣,這很簡單,但是我被'__iter__'返回'self',從而需要實現'__next__'方法(在這種情況下不需要)。另外,你提到的這個PEP可以解決我長期以來的疑問。從現在開始小寫屬性,謝謝兩次! – heltonbiker
(應該指出,我們不能使用'long'這個名字,因爲它會影響內置的'long') – smci