Python学习笔记(一)python中的变量调用和参数传递

python中的变量调用和参数传递

        首先、python与c,c++等语言不同,在定义变量时,创建的是指向等号右边对象的引用,因此,若两个变量指向的对象相同,则两个引用也相同。举个例子来看:

a=[12]
b=a
print(f"a与b的引用相同吗?{a is b}")

 结果如下所示

a与b的引用相同吗?True

 在变量修改时,两个引用会同时修改

a.append(1)
print(b)

 结果如下

[12, 1]

        为什么会产生如上述所示的现象?

        是因为python的内部一切皆为对象,包括每个数值,字符,列表,函数等等,在定义a,b的时候,便指向了同一个对象,因此修改该对象,变量a,b内容同时改变

上述代码稍作修改,则

a=112
b=112
print(f"a与b的引用相同吗?{a is b}")

结果如下

a与b的引用相同吗?True

再改变a,b不会同时改变,因为a指向的改变后的对象,b指向的还是改变之前的对象

a+=1
print(f"a与b的引用相同吗?{a is b}")
print(a,b)
a与b的引用相同吗?False
113 112

你可能感兴趣的:(学习,python)