首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python 中 a=a+b 与 a+=b 有什么不同?

只要熟悉 Python,那么你肯定知道 a=a+b 与 a+=b 都可以实现对对象 a 的自增操作,可以除此之外,他们有什么不同呢?如果这个是面试题,你会怎么回答呢?...如果你说 a+=b 是 a=a+b 的简单写法,那你只说对了一半,你还没有弄清楚 += 这种操作符的真正含义。 这两种操作的结果都是 a=a+b, 但左边的 a 和 右边的 a 还是同一个对象么?...总结一下,对不可变对象, a+=b 就是 a=a+b 的简单写法,比如数字,字符串,元组。...请注意,元组也是可以 a+=b、a=a+b 的哦,元组的不可变,指的是这个元组指向的对象不可变,但是元组变量却是可以指向新的元组的。...对于可变对象,a+=b 在 a 的基础上进行自增,不创建新对象,而 a=a+b,创建了新的对象,然后再让变量 a 指向这个新创建的对象,涉及创建对象的操作,因此性能较差。

1.5K30

Java中 a+=b 和 a=a+b 有什么区别?

今天舍友突然问我“在java中 a+=b 和a=a+b 有什么区别”,说这是一道面试题。当时就不假思索的回答:“一样啊”,然后他说有位面试者也回答说一样,所以被淘汰了。...在java语言中,a+=b和a=a+b的主要区别是在运算的精度上。类似的有“-= 、 *= 、/= 、%= ”,这里以a+=b 与 a=a+b 举例说明一下。...main(String[] args) { byte a=1; a=(byte)(a+4); System.out.println(a); } } 2、下面试一试a+...=b的形式 public class TestDemo { public static void main(String[] args) { byte a=1; a+=4;...3、 总结一下 在两个变量的数据类型一样时:a+=b 和a=a+b 是没有区别的。 但是当两个变量的数据类型不同时,就需要考虑一下数据类型自动转换的问题了。 也就是涉及到精度了。

1K40

python文件打开方式详解——a、a+、r+、w+区别

w+可读写) **w+与r+区别: r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建 r+与a+区别: [python]fd = open("1.txt",'w+')   fd.write...('123')   fd = open("1.txt",'r+')   fd.write('456')   fd = open("1.txt",'a+')   fd.write('789')   结果:...以a,a+的方式打开文件,附加方式打开 (a:附加写方式打开,不可读;a+: 附加读写方式打开) 以 'U' 标志打开文件, 所有的行分割符通过 Python 的输入方法(例#如 read*(...open()以a+模式开启了一个附加读写模式的文件,由于是a,所以指针在文件末尾。此时如果做read(),则python发现指针位置就是EOF,读取到空字符串。...(r,r+,a+,U都可以,注意不要用w,w+,a打开) >>> fd.close()   >>> fd=open(r'f:\mypython\test.py','a+')   >>> fd.read(

7.1K70
领券