小编use*_*430的帖子

如何从python程序中间启动交互式python/ipython会话?

我有一个python程序,它首先执行一些任务,然后在某些条件下进入交互模式,用户可以访问具有当前程序范围的交互式python控制台.现在我使用代码模块通过调用code.InteractiveConsole(globals()).interact('')来实现这一点(参见http://docs.python.org/2/library/code.html).

我的问题是,由此产生的交互式控制台缺少我通常用标准python控制台获得的一些功能(即通过在终端中键入'python'获得的功能),例如记住上一个命令等.有没有办法在我的python程序中间获得相同的交互式控制台,或者更好的是ipython的交互式控制台?

python ipython

6
推荐指数
1
解决办法
989
查看次数

模块中的条件导入

我创建了一个模块modA,我在主程序中导入.根据我的主程序中发生的事情(它具有交互模式和批处理脚本模式),我希望modA本身可以使用TkAgg后端或ps后端导入matplotlib.有没有办法让我的主程序将信息传递给modA告诉它应该如何导入matplotlib?

澄清情况:

主要方案:

#if we are in interactive mode
#import modA which imports matplotlib using TkAgg backend
#else
#import modA which imports matplotlib using the ps backend
Run Code Online (Sandbox Code Playgroud)

模块modA:

#import matplotlib
#matplotlib.use('ps') or matplotlib.use('TkAgg') (how can I do this?)
Run Code Online (Sandbox Code Playgroud)

python matplotlib

4
推荐指数
1
解决办法
5925
查看次数

指针分配的功能地址显示与功能地址不同的值

我有一个功能,比方说

void myfunc()
Run Code Online (Sandbox Code Playgroud)

如果我声明一个指针并将其分配给函数的地址,如下所示

void *test_pointer = (void*) &myfunc;
Run Code Online (Sandbox Code Playgroud)

并使用Visual Studio进入调试模式,我将从监视窗口获取以下内容

Name                       Value
&myfunc                    0x000000013fc06570
test_pointer               0x000000013fa4786f
Run Code Online (Sandbox Code Playgroud)

现在我希望这两个值是相同的,为什么不是这样呢?

c++

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

使用具有多个参数的函数的单个参数创建函数的最佳方法是什么?

在python中,我有一个函数f(x,y)定义为

def f(x,y):
    return x + y
Run Code Online (Sandbox Code Playgroud)

现在我想为运行时确定的y的固定值定义函数g(x)= f(x,y).在我的特定情况下,我循环遍历y的几个值,并且需要为每次迭代生成此函数g(x):

for y in range(0,10):
    def g(x):
        return f(x,y)
    #do something with g(x)...
Run Code Online (Sandbox Code Playgroud)

上面的代码有效,但我的问题是,是否有更有效的方法来做到这一点?在我看来,在每次循环迭代中创建一个函数对象在内存/计算时间方面可能变得低效.

python

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

定义一个空的默认构造函数时会发生什么?

我搜索过以前的问题,但没有找到令人满意的答案:

如果我为类定义一个空的默认构造函数,例如

class my_class{
public:
    myclass(){}
private:
    int a;
    int* b;
    std::vector<int> c;
}
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果我使用默认构造函数定义一个对象,比如说

my_class my_object;
Run Code Online (Sandbox Code Playgroud)

那么my_object.a将是一个随机值,指针my_object.b也将是一个随机值,但是矢量c将是一个表现良好的空矢量.

换句话说,调用c的默认构造函数,而a和b的默认构造函数不是.我理解正确吗?这是什么原因?

谢谢!

c++

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

标签 统计

python ×3

c++ ×2

ipython ×1

matplotlib ×1