今天给大家表演一个 内容传送,无需依靠任何协议传输文本,各位客观看好啦:
首先定义两个函数
send函数初始化一个numpy数组,而receive函数返回一个空numpy数组,如果我依次调用两个函数会发生什么情况:
我们会发现,send传递的参数"3.1415926"在调用receive之后居然出现啦,但是实际上我们的receive函数是返回一个空的numpy数组啊。
原来这是因为:
1、send函数在初始化一个numpy数组后,并没有return,所以此内存空间被释放并且可以被重新分配
2、receive函数中生成空的numpy数组时,numpy.empty()直接返回下一段空闲内存,而不初始化,因此return的内容实际上就是send函数中初始化的数组内容。
对此大家了解了吗?
大家可以去多多支持原作者,原链接如下:https://github.com/leisurelicht/wtfpython-cn#structure-of-the-examples%E7%A4%BA%E4%BE%8B%E7%BB%93%E6%9E%84