don*_*age 10 python random import
我遇到Python的导入随机函数问题.似乎import random并且from random import random正在导入不同的东西.我目前正在使用Python 2.7.3
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> random()
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
random()
NameError: name 'random' is not defined
>>> random.randint(1,5)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
random.randint(1,5)
NameError: name 'random' is not defined
>>> import random
>>> random()
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
random()
TypeError: 'module' object is not callable
>>> random.randint(1,5)
2
>>> from random import random
>>> random()
0.28242411635200193
>>> random.randint(1,5)
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
random.randint(1,5)
AttributeError: 'builtin_function_or_method' object has no attribute 'randint'
>>>
Run Code Online (Sandbox Code Playgroud)
jam*_*jam 25
import random导入随机模块,其中包含与随机数生成有关的各种事项.其中有random()函数,它生成0到1之间的随机数.
以这种方式导入这需要您使用语法random.random().
随机函数也可以单独从模块导入:
from random import random
Run Code Online (Sandbox Code Playgroud)
这允许您random()直接调用.
And*_*ark 15
该随机模块包含一个名为功能random(),所以你需要知道你是否已导入模块到您的命名空间,或从模块导入的功能.
import random将导入随机模块,而from random import random将从模块中专门导入随机函数.
因此,您将能够执行以下操作之一:
import random
a = random.random()
b = random.randint(1, 5)
# you can call any function from the random module using random.<function>
Run Code Online (Sandbox Code Playgroud)
要么...
from random import random, randint # add any other functions you need here
a = random()
b = randint(1, 5)
# those function names from the import statement are added to your namespace
Run Code Online (Sandbox Code Playgroud)
import random
Run Code Online (Sandbox Code Playgroud)
将模块包含在命名为'random'的命名空间中.
from random import random
Run Code Online (Sandbox Code Playgroud)
包括从命名空间"随机"到全局命名空间的函数"随机".
因此,在第一个示例中,您将调用random.random,在第二个示例中,您将调用random.两者都将访问相同的功能.
同样的,
from random import randint
Run Code Online (Sandbox Code Playgroud)
将randint导入全局命名空间,因此您只需调用randint而不是random.randint.
| 归档时间: |
|
| 查看次数: |
58345 次 |
| 最近记录: |