Python使用中报错信息:AttributeError: ‘builtin_function_or_method‘ object has no attribute ‘randint‘

目录

一、报错信息:

二、报错代码:

1、一个简单的生成随机数的代码:

2、代码编写的过程:

三、报错的原因:

1、没有搞清楚导入的是模块,还是方法:

2、其他类似的情况:


一、报错信息:

AttributeError: 'builtin_function_or_method' object has no attribute 'randint'

翻译:AttributeError:“内置函数”或“方法”对象没有属性“randint”

二、报错代码:

1、一个简单的生成随机数的代码:

from random import random

print(random.randint(1,5))

2、代码编写的过程:

当时,自己想测试一下random.randint(),感觉自己很熟悉这个函数,就没有导入random模块,vscode自动给补充的导入库,自动导入了from random import random。正常的话,我自己会这样导入import random。

import random
print(random.randint(1,5))

这样的话就不会报错,并且会产生一个随机数。

三、报错的原因:

1、没有搞清楚导入的是模块,还是方法:

  • from random import random:仅将random模块下定义的random()方法导进来, 也就是仅仅可以使用random()这一个方法,所以直接调用random()方法没有报错, 但是调用random模块下的其他方法就会报错,所以调用randint方法时报错。
  • import random :导入的是整个random模块,random模块下所有方法都可以调用。
  • 如果不想让它报错, 可以使用from random import *, 即将random模块中的所有方法都导进来, 自然包括random()方法和randint()方法,此时你再单独使用randint()方法自然不会报错。
  • from random import *
    print(randint(1,5))
    print(random())

    如果是这样使用方法:random.randint(),那么必须要import random,这样导入整个库。如果是from random import random 或者是 from random import random导入的是方法,再这样使用就会报错。 

    2、其他类似的情况:

    报错信息:'builtin_function_or_method' object has no attribute 'sleep'

    使用 time.sleep(n) 挂起函数时,遇到这个错误。

    原因:使用导入是 from time import *

    解决:导入换成 import time

    来源:蓝星部队

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python使用中报错信息:AttributeError: ‘builtin_function_or_method‘ object has no attribute ‘randint‘

    发表评论