小编Tim*_*ton的帖子

python多久刷新一次文件?

  1. Python多久刷新一次文件?
  2. Python多久刷新一次到stdout?

关于(1)我不确定.

至于(2),我相信Python在每一行之后都会刷新到stdout.但是,如果你将stdout重载为一个文件,它是否经常刷新?

python file flush

207
推荐指数
4
解决办法
20万
查看次数

在Python中,当您在函数内部导入时会发生什么?

在速度和内存效率方面,在函数内导入Python模块和/或函数的优缺点是什么?

是否每次运行该函数时重新导入,或者可能只在开始时重新导入一次,无论函数是否运行?

python python-import

142
推荐指数
5
解决办法
8万
查看次数

在Python中使函数的stdout静音而不会破坏sys.stdout并恢复每个函数调用

有没有办法让Python在没有包含像下面这样的函数调用的情况下使stdout静音?

原始破码:

from sys import stdout
from copy import copy
save_stdout = copy(stdout)
stdout = open('trash','w')
foo()
stdout = save_stdout
Run Code Online (Sandbox Code Playgroud)

编辑:更正了Alex Martelli的代码

import sys
save_stdout = sys.stdout
sys.stdout = open('trash', 'w')
foo()
sys.stdout = save_stdout
Run Code Online (Sandbox Code Playgroud)

这种方式有效,但似乎非常低效.有是一个更好的办法.有任何想法吗?

python stdout

46
推荐指数
6
解决办法
4万
查看次数

在球形体积内采样均匀分布的随机点

我希望能够生成一个随机均匀的粒子位置样本,该样本落在球形体积内.

下图(http://nojhan.free.fr/metah/提供)显示了我要找的内容.这是穿过球体的切片,显示了点的均匀分布:

均匀分布的圆圈

这就是我目前得到的:

均匀分布但是聚类点

由于球面和笛卡尔坐标之间的转换,您可以看到中心有一组点.

我使用的代码是:

def new_positions_spherical_coordinates(self):
   radius = numpy.random.uniform(0.0,1.0, (self.number_of_particles,1)) 
   theta = numpy.random.uniform(0.,1.,(self.number_of_particles,1))*pi
   phi = numpy.arccos(1-2*numpy.random.uniform(0.0,1.,(self.number_of_particles,1)))
   x = radius * numpy.sin( theta ) * numpy.cos( phi )
   y = radius * numpy.sin( theta ) * numpy.sin( phi )
   z = radius * numpy.cos( theta )
   return (x,y,z)
Run Code Online (Sandbox Code Playgroud)

下面是一些MATLAB代码,据说可以创建一个统一的球形样本,类似于http://nojhan.free.fr/metah给出的等式.我似乎无法破译它或理解他们做了什么.

function X = randsphere(m,n,r)

% This function returns an m by n array, X, in which 
% each of the m rows has the n Cartesian coordinates …
Run Code Online (Sandbox Code Playgroud)

python random matlab geometry uniform-distribution

36
推荐指数
3
解决办法
4万
查看次数

Python分析在Windows中,如何忽略内置函数

我无法在网上找到这个.我希望找到使用分析器如何更好地优化我的代码,并且当排序时哪些函数累积消耗最多的时间,str(),print和其他类似广泛使用的函数之类的东西占用了大部分的配置文件.分析python程序以获取用户定义函数的最佳方法是什么,只是为了查看他们可以优化的代码区域?

我希望这是有道理的,任何关于这个问题的光都会非常感激.

python optimization profiling built-in cprofile

3
推荐指数
1
解决办法
904
查看次数

Python通过函数包装器传递变量赋值

所以我知道你可以通过执行以下操作将函数包装在另一个函数周围.

def foo(a=4,b=3):
   return a+b
def bar(func,args):
   return func(*args)
Run Code Online (Sandbox Code Playgroud)

所以,如果我随后打电话

bar(foo,[2,3])
Run Code Online (Sandbox Code Playgroud)

返回值为5.

我想知道有没有办法使用bar来调用foo与foo(b = 12),其中bar会返回16?

这有意义吗?非常感谢你提前的时间!抱歉问了这么多问题.

python variables function argument-passing

2
推荐指数
1
解决办法
1379
查看次数