Cup*_*tor 3 python syntax arguments function definition
这是这里的代码示例:
函数参数赋值中的相等意味着什么?像N=20000这儿?N这和简单地作为论证有什么区别?导入随机数、数学
def gibbs(N=20000,thin=500):
x=0
y=0
samples = []
for i in range(N):
for j in range(thin):
x=random.gammavariate(3,1.0/(y*y+4))
y=random.gauss(1.0/(x+1),1.0/math.sqrt(x+1))
samples.append((x,y))
return samples
smp = gibbs()
Run Code Online (Sandbox Code Playgroud)
在函数定义中,它指定参数的默认值。例如:
\n\n>>> def func(N=20000):\n... print(N)\n>>> func(10)\n10\n>>> func(N=10)\n10\n>>> func()\n20000\nRun Code Online (Sandbox Code Playgroud)\n\n在第一次调用中,我们使用N位置参数指定参数值10。N在第二次调用中,我们使用关键字参数指定参数值N=10。在第三次调用中,我们根本没有指定值\xe2\x80\x94,因此它获得默认值20000。
请注意,使用关键字参数调用函数的语法看起来与定义带有默认值参数的函数的语法非常相似。这种相似之处并非偶然,但重要的是不要对此感到困惑。当你开始解压参数与可变参数参数等时,你会更容易混淆自己。在除了最简单的情况之外的所有情况下,即使你一旦理解了它,并且直观上这一切都是有意义的,它仍然是很难真正在你的脑海中直接了解细节。这篇博文试图将所有解释集中到一处。我不认为它做得很好,但它至少有指向文档\xe2\x80\xa6中所有相关内容的有用链接
\n