首页 >> 信息互动 >

python函数封装与调用(python函数)

2023-02-28 23:44:52 来源: 用户: 

您好,今天帅帅来为大家解答以上的问题。python函数封装与调用,python函数相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、如果是我,我会在函数里面声明b是global的,而不是用似是而非的传值传指针,你这样写是想说b_hash传递的是指针,可惜python里一旦用“=”赋值就已经相当于声明了一个新的变量,所以你的这个问题两种解决办法:第一个,把你要传指针的东西放到列表里:def test(aa,bb):bb[0]=copy.deepcopy(aa)a={1:1}b=[{}]test(a,b)print b[0]这样保证你可以通过b这个名字找到改变后的指针。

2、第二个,在函数里声明你要修改的是全局变量:def test(aa):global bb=copy.deepcopy(aa)a={1:1}b={}test(a)print b当然,你还可以用既不是global也不是local的局部作用域,那可以说叫闭包,但有些不好懂就不说了。

3、楼上的方法思想和第一种一样,但是没做深层拷贝,一层for循环没有递归实现了copy.copy,而不是copy.deepcopy。

本文就为大家分享到这里,希望小伙伴们会喜欢。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章