Rac*_*fer 3 python syntax interface
我正在做cs224n 的赋值。在函数中test_word2vec,有一些我不明白的 python 语法:
""" Interface to the dataset for negative sampling """
dataset = type('dummy', (), {})()
def dummySampleTokenIdx():
return random.randint(0, 4)
def getRandomContext(C):
tokens = ["a", "b", "c", "d", "e"]
return tokens[random.randint(0,4)], \
[tokens[random.randint(0,4)] for i in xrange(2*C)]
dataset.sampleTokenIdx = dummySampleTokenIdx
dataset.getRandomContext = getRandomContext
Run Code Online (Sandbox Code Playgroud)
问题一:什么dataset = type('dummy', (), {})()意思?
问题二:在dataset.sampleTokenIdx = dummySampleTokenIdx,我认为dataset没有属性sampleTokenIdx。那么,为什么数据集可以调用它呢?