小编Pul*_*lse的帖子

Python的引用传递

您好我正在尝试理解Python的引用如何通过工作.我有一个例子:

>>>a = 1
>>>b = 1
>>>id(a);id(b)
140522779858088
140522779858088
Run Code Online (Sandbox Code Playgroud)

这非常有意义,因为a和b都引用了与身份相同的值.我不太明白的是这个例子:

>>>a = 4.4
>>>b = 1.0+3.4
>>>id(a);id(b)
140522778796184
140522778796136
Run Code Online (Sandbox Code Playgroud)

与此示例不同:

>>>a = 2
>>>b = 2 + 0
>>>id(a);id(b)
140522779858064
140522779858064
Run Code Online (Sandbox Code Playgroud)

是因为在第3个例子中,0 int对象被解释器视为"None",并且没有被识别为需要与变量"a"引用的对象不同的身份(2)?而在第二个例子中,"b"是添加两个不同的int对象,而解释器是为要添加的两个对象分配内存,这给变量"a",与变量"b"不同的标识?

python literals python-internals

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

如何在包含带有图案的字符串的行的末尾添加文本?

例如:

hello1.jpg
hello2.jpg
hello3.jpg
Run Code Online (Sandbox Code Playgroud)

我想编辑它,就像这样:

hello1.jpg 0
hello2.jpg 0
hello3.jpg 0
Run Code Online (Sandbox Code Playgroud)

我试过了:

sed -i '/(hello*)/ s/$/ 0/' hello.txt
perl -ipe 's/$/ 0/ if /hello/' hello.txt
sed -i '/^hello*/ s/$/ 0/' hello.txt
Run Code Online (Sandbox Code Playgroud)

unix linux bash shell terminal

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

为什么递增指针会给出一个与存储器地址相对的随机数?

为什么当我递增指针然后取消引用它时,我得到一个随机数?

这是我的代码:

 #include <iostream>

 using namespace std;

 int main(){
     int reference = 10;
     int *health = &reference;
     int *health1 = health;
     cout << "Health Address: " << health <<
        "\nHealth1 Address: " << health1 <<
        "\nReference Address: " << &reference << endl;
     health1++;
     cout << "Health1 value after being incremented then dereferenced: " << *health1 << endl;     
  }
Run Code Online (Sandbox Code Playgroud)

我的输出是:

健康地址:0x7fff5e930a9c

Health1地址:0x7fff5e930a9c

参考地址:0x7fff5e930a9c.

增加后的Health1值然后取消引用:197262882

我期望获得0,因为下一个内存地址的下一个值将为null,但在这种情况下情况并非如此.

c++ pointers

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

C中的可见性

如果我有一个功能:

void G(int f){

    printf("Hello");

}
Run Code Online (Sandbox Code Playgroud)

(我知道这个函数没有意义的参数,但我只是为了问题)

即使没有定义并且没有在其中使用,"int f"在函数内部是否可见?

c

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

标签 统计

bash ×1

c ×1

c++ ×1

linux ×1

literals ×1

pointers ×1

python ×1

python-internals ×1

shell ×1

terminal ×1

unix ×1