Python文档似乎不清楚参数是通过引用还是值传递,以下代码生成未更改的值'Original'
class PassByReference:
def __init__(self):
self.variable = 'Original'
self.change(self.variable)
print(self.variable)
def change(self, var):
var = 'Changed'
Run Code Online (Sandbox Code Playgroud)
有什么我可以通过实际参考传递变量吗?
我注意到为相同的字符串添加空格使得它们比较不相等is,而非空间版本比较相等.
a = 'abc'
b = 'abc'
a is b
#outputs: True
a = 'abc abc'
b = 'abc abc'
a is b
#outputs: False
Run Code Online (Sandbox Code Playgroud)
我已经阅读了关于将字符串与==和进行比较的问题is.我认为这是一个不同的问题,因为空格字符正在改变行为,而不是字符串的长度.看到:
a = 'abc'
b = 'abc'
a is b # True
a = 'gfhfghssrtjyhgjdagtaerjkdhhgffdhfdah'
b = 'gfhfghssrtjyhgjdagtaerjkdhhgffdhfdah'
a is b # True
Run Code Online (Sandbox Code Playgroud)
为什么在字符串中添加空格会改变此比较的结果?
我是python的初学者,我不希望这些数组相互复制,但它们是自动的:
a = numpy.zeros(4)
b = a
a[1] = 10
print b[1]
Run Code Online (Sandbox Code Playgroud)
它返回10而不是0.如何断开这两个数组?