标签: assign

Python:函数中的额外赋值

考虑到以下两个版本的Python中非常简单的函数,问题是哪个优先于另一个,为什么?

使用了其他分配相比,是否有额外的内存使用和/或CPU使用case 1case 2

情况1:

def f(x):
    y = x*x
    return y

案例2:

def f(x):
    return x*x

从我的观点来看,case 1它比另一个更清晰,特别是在复杂计算和提供许多返回对象的情况下.另一方面,case 2外观非常紧凑,因此被认为是非常有吸引力的.因为简单只是简单有效.你怎么看?

更新:
我不知道Python中有反汇编程序!当我了解到我的问题的答案以及检查类似想法的方法时,真是太神奇了.特别欣赏.
from dis import dis as dasm
dasm(f)

python memory-management cpu-usage assign

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

使用命名列表转换变量

在R编程语言中,我有一个命名列表,如下所示

list <- list(first='hello',second='bye')
Run Code Online (Sandbox Code Playgroud)

我想分别使用hellobye来转换变量firstsecond值.显然,真实列表比示例一长得多,我想知道是否有比在循环中使用函数更好的解决方案.assign

谢谢你的时间.

r variable-assignment assign

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

以下分配仅导致警告.关于C如何对待类型等价,这说了什么?

以下分配仅导致警告.关于C如何对待类型等价,这说了什么?

int *iptr;
float *fptr;
float fval;
fval = 0.0;
fptr = &fval;
iptr = fptr;
Run Code Online (Sandbox Code Playgroud)

特别是,我指的是上面代码片段的最后一行中的赋值; 即,

iptr = fptr;
Run Code Online (Sandbox Code Playgroud)

c pointers type-equivalence assign

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

解释下面的代码?

关于下面的代码片段(用C编写),我有几件事我不明白:

struct T {
int a;
int *b;
struct T *next;
} ;

struct T *p1;

struct T* (*f)(int, int, struct T*);

struct T* g(int a, int b, struct T* c)
{
    return (a > b ? c : NULL);
}

f = &g;
p1 = (*f)(4,3,p1);
Run Code Online (Sandbox Code Playgroud)

特别是,这条线是什么意思?

struct T* (*f)(int, int, struct T*);
Run Code Online (Sandbox Code Playgroud)

这是一个功能吗?如果是这样,为什么它没有正文,为什么有正式的参数名称似乎缺失?如果缺少身体,这个功能会返回什么?

另外,下面的作业是怎么回事?

f = &g;
Run Code Online (Sandbox Code Playgroud)

c function assign

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

C++:将结构的类型更改为子类型

在文件database.h中,我有以下结构:

struct parent {
...
};
struct childA : parent {
...
};
struct childB : parent {
...
};
struct childC : parent {
...
};
Run Code Online (Sandbox Code Playgroud)

我有以下课程:

class myClass {
    parent myStruct;
    ...
    myClass(int input) {
        switch (input) {
        //
        // This is where I want to change the type of myStruct
        //
        }
    };
    ~myClass();
}
Run Code Online (Sandbox Code Playgroud)

本质上,在myClass的构造函数中,我想根据输入更改myStruct的类型:

switch (input) {
case 0:
    childA myStruct;
    break;
case 1:
    childB myStruct;
    break;
case 2:
    childC myStruct;
    break;
}
Run Code Online (Sandbox Code Playgroud)

但是,我还没有找到适用于此的解决方案.如何将myStruct的类型更改为其类型的子类型?因为myStruct需要在构造函数外部可访问,所以我想在类的头中将其声明为类型parent,并将其类型更改为构造函数中的子类型.

c++ inheritance struct assign

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

Javascript对象赋值的奇怪行为

我是javascript的新手(整体编程新手,真的).我遇到了for/in循环的这种行为,我不太明白.在控制台中使用$ node命令运行以下代码段.

code_0:

var result = {};
var list = ['A', 'B', 'C'];

for(var index in list){
    var id = list[index];
    result[id] = {};
    result[id]['name'] = id;
}

console.log(result);
Run Code Online (Sandbox Code Playgroud)

RESULT_0:

{ A: { name: 'A' }, B: { name: 'B' }, C: { name: 'C' } }
Run Code Online (Sandbox Code Playgroud)

code_1:

var result = {};
var list = ['A', 'B', 'C'];
var INIT = {'a': 0, 'b': 0, 'c': 0,}

for(var index in list){
    var id = list[index];
    result[id] = INIT;
    result[id]['name'] = …
Run Code Online (Sandbox Code Playgroud)

javascript loops object node.js assign

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

Delphi - 在现有的上分配Form OnClose

我的项目中有很多使用Form OnClose事件的表单.但是,我需要在运行时在所有表单上添加另一个"泛型"OnClose.有什么方法可以添加新的事件方法,而不是替换它?因此,表单将触发两个OnClose事件.

delphi events runtime assign

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

无法为包含记录数组的对象赋值

我正在写一个包含记录数组的简单对象.就像发票一样.(ID,日期,客户名称和有关物品的记录数组).

type
  Trows = record
  private
    Fcode: string;
    Qty: Double;
    cena: Currency;
    procedure Setcode(const value: string);
  public
    property code: string read Fcode write SetCode;
  end;

  Tcart = class(TObject)
  private
    Frow: array of Trows;
    function  Getrow(Index: Integer): Trows;
    procedure Setrow(Index: Integer; const Value: Trows);
  public
    ID: integer;
    CustName: string;
    Suma: currency;
    Payed: boolean;
    constructor Create(const Num: Integer);
    destructor Destroy;
    function carttostr: string;
    procedure setcode(Index: integer;val: string);
    property Row[Index: Integer]: Trows read Getrow write setrow;
  end;
Run Code Online (Sandbox Code Playgroud)

一切似乎很好,因为我试图改变一条记录的价值.我找到了3种方法.首先,第二个工作正常,但我想简化修改此记录值的代码,如下所示:

cart.row[0].code:='333';
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我错过了什么?

这是代码:

procedure …
Run Code Online (Sandbox Code Playgroud)

arrays delphi records assign

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

熊猫使用条件 lambda 表达式分配多列

我想使用该方法向 DataFrame添加 2 列 ( cat_a, cat_b) 。但我没有让代码工作......df.assign()

import pandas as pd
np.random.seed(999)
num = 10
df = pd.DataFrame({'id': np.random.choice(range(1000, 10000), num, replace=False),
                   'sex': np.random.choice(list('MF'), num, replace=True),
                   'year': np.random.randint(1980, 1990, num)})
print(df)

     id sex  year
0  3461   F  1983
1  8663   M  1988
2  6615   M  1986
3  5336   M  1982
4  3756   F  1984
5  8653   F  1989
6  9362   M  1985
7  3944   M  1981
8  3334   F  1986
9  6135   F  1988
Run Code Online (Sandbox Code Playgroud)

这应该是 …

lambda multiple-columns python-3.x assign pandas

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

为什么std :: is_assignable不能用于原始类型?(确认)

为了更具体的 std::is_assignable_v<int, int> << '\n'; 回报false?是因为int没有重载赋值运算符(原始类型和所有)?

(顺便std::is_trivially_assignable_v<int, int>false过.)

请注意:这 struct Structure {}; std::is_assignable<class Structure, class Structure>::value; 将返回true,因为隐式定义了重载的赋值运算符Structure.

到目前为止我是否正确?如果是这样,那么我认为增强is_assignable接受原始类型也不是一件容易的事吗?否则,任何有关这种可能的解决办法的提示?

c++ overloading assignment-operator assign

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