我從來沒有意識到我是一個程序員,直到我遇到下面這個練習。我將編寫一個Python文件,允許下面的所有測試通過而不會出錯。口譯員在找什麼?
我相信我寫的文件需要是一個類,但我完全不知道我的班上應該寫些什麼。我知道問題在問什麼,但不知道如何製作課程,或者如何使用適當的對象來響應對課程的調用。
請查看下面的練習代碼,然後在最後看到我的問題。
文件與測試:
import unittest
from allergies import Allergies
class AllergiesTests(unittest.TestCase):
def test_ignore_non_allergen_score_parts(self):
self.assertEqual(['eggs'], Allergies(257).list)
if __name__ == '__main__':
unittest.main()
1)我不明白,在這個斷言的末尾的「清單」的方法。它是內置Python函數「list()」,還是我需要在「過敏」類中定義的屬性?
2)什麼類型的對象是 「過敏(257).LIST」
self.assertEqual(['eggs'], Allergies(257).list)
3)我通過定義像下面的東西接近這個?
def list(self):
list_of_allergens = ['eggs','pollen','cat hair', 'shellfish']
return list_of_allergens[0]
是的我看到了錯字/語法錯誤。它應該是「list_of_allergens [0]」「過敏(257).list」中的點使我認爲這是一種「方法」,但是你說它是一個「屬性」。這大大幫助我分離出兩個概念:) – 2014-10-29 01:39:42
@ user1473511:方法是一種屬性。鬆散地說,你可以把它們看作可以像函數一樣調用的屬性,並且通常像函數那樣定義。 (要嚴格地說,你必須理解描述符和你不想學習的描述符和類屬性訪問規則。) – abarnert 2014-10-29 18:28:19