小编Bas*_*ard的帖子

将python与c集成以提高性能是否合理?

我喜欢几乎所有的东西都使用python,并且总是清楚地知道如果由于某种原因我在我的python代码中找到了瓶颈(由于python的限制),我总是可以使用集成到我的代码中的C脚本.

但是,当我开始阅读有关如何集成python 的指南时.在文章中,作者说:

人们可能希望在C或C++中扩展Python有几个原因,例如:

  • 在现有库中调用函数.
  • 向Python添加新的内置类型
  • 优化代码中的内部循环
  • 将C++类库暴露给Python
  • 将Python嵌入C/C++应用程序中

关于表现没什么.所以我再问一遍,将python与c集成以获得性能是否合理?

c python performance

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

3
推荐指数
2
解决办法
2313
查看次数

如何选择多对多关系中未引用的所有对象

我有几个 Django 模型是这样设置的:

class Group(models.model):
    name = models.CharField(max_length=50, unique=True)

class Section(models.Model):
    name = models.CharField(max_length=50, unique=True)
    slug = models.SlugField(help_text='Auto generated')
    groups = models.ManyToManyField(Group, blank=True)
Run Code Online (Sandbox Code Playgroud)

在我的代码的一部分中,我需要获取组字段为空的所有 Section 对象,我可以使用原始 SQL 来表达它,但如果可能的话,我真的很想使用 ORM 代码。在 SQL 中编写查询的一种方法是:

select * from section where id not in (select section_id from section_groups);
Run Code Online (Sandbox Code Playgroud)

是否可以在 ORM 查询中表达此要求?

django django-models

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

当输入声明为double时,检查输入是否为空[C++]

我有三个变量声明为双精度:

double Delay1 = 0;
double Delay2 = 0;
double Delay3 = 0;
Run Code Online (Sandbox Code Playgroud)

我然后从用户获取他们的值:

cout << "Please Enter Propogation Delay for Satellite #1:";  
cin >> Delay1;
...
Run Code Online (Sandbox Code Playgroud)

但是,当我检查这些值以查看它们是否为空(用户只需按Enter键并且没有输入数字)时它不起作用:

if(Delay1  || Delay2 || Delay3 == NULL)  
      print errror...
Run Code Online (Sandbox Code Playgroud)

每次都会运行.
检查已声明为double的输入是否为空的正确方法是什么?

c++ double null

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

在C++中为构造函数使用初始值设定项有什么好处?

Sphere() : theRadius(1.0)
{
}
Run Code Online (Sandbox Code Playgroud)

为什么使用初始化程序(上面)编写的构造函数比初始化其主体(下面)中的数据成员的构造函数更好?

Sphere()
{
     theRadius = 1.0;
}
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
2
解决办法
1217
查看次数

Python错误

a=[]
a.append(3)
a.append(7)

for j in range(2,23480):
    a[j]=a[j-2]+(j+2)*(j+3)/2
Run Code Online (Sandbox Code Playgroud)

当我编写此代码时,它会出现如下错误:

Traceback (most recent call last):
  File "C:/Python26/tcount2.py", line 6, in <module>
    a[j]=a[j-2]+(j+2)*(j+3)/2
IndexError: list assignment index out of range
Run Code Online (Sandbox Code Playgroud)

我可以知道为什么以及如何调试它?

python

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

C malloc:无法解释的内存使用情况

当我编译并运行以下代码时:(在cygwin上使用gcc)

int *a = malloc(1024*1024*100*sizeof(int));
while(1)
;
Run Code Online (Sandbox Code Playgroud)

Windows XP中的任务管理器将此进程的内存使用量显示为2232K,根据我的说法应该大约为400000K.

当我编译并运行以下代码时:(在cygwin上使用gcc)

int *a = malloc(1024*1024*400*sizeof(int));
while(1)
;
Run Code Online (Sandbox Code Playgroud)

内存使用量降至1388K;

因此,它实际上显示出下降,而不是显示出增长.

有什么可以解释这个?

c malloc

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

需要一些帮助来理解奇怪的C行为

这部分代码运行正常:

#include <stdio.h>

int main(){
    //char somestring[3] = "abc";
    int i, j; 
    int count = 5;

    for((i=0) && (j=0); count > 0; i++ && j++){
        printf("i = %d  and j = %d\n", i, j);
        count--;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出如预期:

i : 0 and j : 0
i : 1 and j : 1
i : 2 and j : 2
i : 3 and j : 3
i : 4 and j : 4
Run Code Online (Sandbox Code Playgroud)

当我在函数体的第一行取消注释char字符串声明时,事情变得奇怪了.

#include <stdio.h>

int main(){ …
Run Code Online (Sandbox Code Playgroud)

c

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

Python没有操作码cacher?

我目前正在使用PHP.我打算开始在我的下一个项目中使用Django.

但我对Python没有任何经验.经过一番搜索,我仍然找不到Python操作码cacher.

(PHP有很多操作码cacher:APC,eAccelerator,Xcache,...)

python opcode-cache opcode

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

使用Django模板过滤器进行数学运算?

在我的数据库中,我有一个存储价格信息的整数字段,如"10399","84700".显示时,它们应为"$ 103.99"和"$ 847.00".

我需要显示int*0.01.

我想知道是否有办法使用Django模板过滤器?喜欢:

{{ item.price|int_to_float_and_times_0.01 }}
Run Code Online (Sandbox Code Playgroud)

另一个问题,实际上我选择了整数,因为我认为它比在数据库中使用float更有效.真的吗?

python django templates filter

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