查看sklearn库中的一些源代码:
部分代码,删除评论:
def check_random_state(seed):
if seed is None or seed is np.random:
return np.random.mtrand._rand
if isinstance(seed, (numbers.Integral, np.integer)):
return np.random.RandomState(seed)
if isinstance(seed, np.random.RandomState):
return seed
raise ValueError('%r cannot be used to seed a numpy.random.RandomState' ' instace' % seed)
def resample(*arrays, **options):
random_state = check_random_state(options.pop('random_state', None))
replace = options.pop('replace', True)
# lots more code below ...
特别是:replace = options.pop('replace', True)
和random_state = check_random_state(options.pop('random_state', None))
如何使用options.pop('object_that_is_being_created', some_value)
?它的目的是什么?它有什么作用?
我知道options
将是一个字典,arrays
将是一个元组,但我不确定代码究竟是什么,因为它似乎只返回第二个参数?