概述
今天在做项目的时候遇到一个小doubt,四处求解无望,所以先把它记录下来,万一以后会了呢!哈哈
闲话莫多唠,步入正题:
numpy中的random函数模块中有个uniform函数,
random函数是用于随机生成[0, 1)之间的一个实数,而uniform()函数可以在给定参数下生成一个实数,这个实数在给定参数之间,如:
import random
random.uniform(x, y)
#参数为x,y,返回值为一个浮点数,在[x, y]之间,包含x,y
现在我们想要指定返回参数个数,怎么办呢,假如在[x,y]之间,随机返回10个浮点数,常理的话我们应该写成:
import numpy as np
from random import uniform
random.uniform(0,30,10)
#或者
uniform(0,10,30)
但是,解释器会毫不留情面的给你个No!typeerror:
TypeError: uniform() takes 3 positional arguments but 4 were given
这个报错简直睁眼说瞎话,我明明就只写了三个参数么,非得说我给了4个,可能在传递参数的时候有隐藏参数吧,的确,我减少一个参数后就可以正常编译,但是并不能满足我想输出多个浮点数的要求。
而后我继续探索,我惊讶的发现当我更改函数的调用方式时,竟然可以通过编译:
np.random.uniform(0,30,10)
>>>array([21.56304668, 19.50495065, 1.90127879, 20.2703811 , 28.16924328,6.72824345, 1.14104405, 4.20529112, 24.31898167, 10.93371833])
amazing , but I don’t know why !
能够解决和使用,以后再遇到这种报错,最起码知道用这种方式可能会解决。
最后
以上就是背后绿茶为你收集整理的python的一些莫名报错(1)的全部内容,希望文章能够帮你解决python的一些莫名报错(1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复