这个接口语法在python中是什么意思?

2024-09-30 01:31:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做cs224n's assignment。在函数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

问题一:dataset = type('dummy', (), {})()是什么意思?在

问题二:在dataset.sampleTokenIdx = dummySampleTokenIdx中,我不认为{}具有sampleTokenIdx属性。那么,为什么数据集可以调用它呢?在


Tags: 函数forreturndeftyperandomdatasetdummy
1条回答
网友
1楼 · 发布于 2024-09-30 01:31:51
  1. 带3个参数的type函数创建一个类。所以这相当于这个代码:

class dummy(object): pass

  1. 在Python中,可以随时向对象添加属性。如果它还不存在,它将被创建,本质上插入一个表示对象属性的dict中。在

相关问题 更多 >

    热门问题