我目前正在通過優秀的Python koans,我可以通過一些谷歌搜索來理解他們中的大多數,但這一個讓我難住(注意:__
變量是我必須找到的答案的佔位符):如何在表達式中使用__class__?
class AboutTuples(Koan):
# ....
def test_tuples_of_one_look_peculiar(self):
self.assertEqual(__, (1).__class__)
self.assertEqual(__, (1,).__class__)
self.assertEqual(__, ("Hello comma!",))
我明白__class__
返回表達式的類型,所以在第一種情況下,這應該是「包含整數的元組」,以及另外兩個......我不太清楚,因爲第一個元素後的逗號。因爲它是,它失敗,我得到這個輸出:
You have not yet reached enlightenment ...
AssertionError: '-=> FILL ME IN! <=-' != <class 'int'>
這是通常的答案,如果你已經離開佔位符變量。在此之後,我試過如下:
self.assertEqual("<class 'int'>", (1).__class__)
但我得到以下輸出:
You have not yet reached enlightenment ...
AssertionError: "<class 'int'>" != <class 'int'>
所以很明顯它不是期望得到一個字符串,可能是一個類型的某種......我該怎麼表達這在Python中?其他兩個測試用例的答案是否相似?
編輯:Link to the exact koan,以防萬一
'self.assertEqual(int,(1).__ class __)'? *「在第一種情況下,這應該是」一個包含整數的元組「* - 否,絕對不應該;這就是練習試圖教給你的開始。 – jonrsharpe