Python 为什么我可以在不实例化实例的情况下使用random.radint方法?
要使用random.randint方法,我可以使用以下两个选项:Python 为什么我可以在不实例化实例的情况下使用random.radint方法?,python,python-3.x,random,Python,Python 3.x,Random,要使用random.randint方法,我可以使用以下两个选项: import random # one way to use random random.randint(1,10) # second way with instanciating first instance = random.Random() instance.randint(1,10) 尽管我还没有实例化实例,为什么我可以使用第一种方法?导入random将random实例化到私有变量中 在random.py的第786行
import random
# one way to use random
random.randint(1,10)
# second way with instanciating first
instance = random.Random()
instance.randint(1,10)
尽管我还没有实例化实例,为什么我可以使用第一种方法?导入
random
将random
实例化到私有变量中
在random.py
的第786行
_inst = Random()
然后在791线上
randint = _inst.randint
random.py
位于python安装的Lib
文件夹中,如果您想自己查看它的话
第786-808行是感兴趣的行。他们基本上把那个随机变量的私有实例的所有方法都设置为随机变量,这样就可以这样调用它们了
从文件中
此模块提供的函数实际上是random.random类的隐藏实例的绑定方法。您可以实例化自己的Random实例,以获得不共享状态的生成器