什么情况下1+2会等于4?python中一切都是对象,一切都有可能

首先,可以肯定的是在数学情况下:1+2=3是成立的!那么我们换个想法,如何让1+2=4成立呢?虽然这是一个没任何意义的问题!但是对于好奇的我,还是决定用python弄以下!

什么情况下1+2会等于4?python中一切都是对象,一切都有可能

原理

在c语言中有一个方法叫做memmove(dest, src, count),作用是从src所指内存地址,复制count个字节的内容到dest所指的内存地址。

也就是说,比如,3所指地址为1111,4所指的地址为2222。现在我把2222地址所存的内容复制到1111地址上。这样的话,1111和2222所存的内容变的一样,都是为4。

在python里面也有一个同样功能的方法,是在ctypes包里面的memmove()方法。让我来演示一下。

什么情况下1+2会等于4?python中一切都是对象,一切都有可能

嗨喽:正在学习python的小伙伴或者打算学习的,可以私信小编“01”领取资料!

演示

首先我在python3里面尝试一下。

28是什么呢?28就是一个整数类型在内存中所占的大小,python2里面就是24,这是因为在python3里面没有长整型,只有一种整数类型int。python2里面的int类型就是24,Long类型就是28,这个是要区别一下的。

什么情况下1+2会等于4?python中一切都是对象,一切都有可能

结尾

这样的话,我们就能实现1+2=4,1+1=3等等,但建议大家平常玩玩就行,最好不要在项目里面这么玩,可能会造成一些意想不到的问题,内存泄露等严重问题。

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取

相关推荐