为了账号安全,请及时绑定邮箱和手机立即绑定

为什么python def 函数不能被调用?

为什么python def 函数不能被调用?

牧羊人nacy 2022-02-24 23:15:41
q=3def my_del(x):if x is str or int or float or bool or complex:del xmy_del(q)print(q) #q还是输出3,没有被删除ac为什么定义的函数不能生效呢?
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

你的del删除的是函数的形参x,删除的不是作为实参的全局变量q,更不是q指向的int型对象3。
弄清楚形参和实参的区别,以及del删除的究竟是变量名还是对象。

查看完整回答
反对 回复 2022-02-27
?
哔哔one

TA贡献1854条经验 获得超8个赞

q = 3 表示一个整数对应被创建并且赋值给了变量q,引用数是1,然后调用了my_del函数,引用数变成2,在函数中做了del操作,仅减少了函数引用这个引用数,原先的引用还在,所以print的时候还可以输出。
以上,我个人理解。

查看完整回答
反对 回复 2022-02-27
  • 2 回答
  • 0 关注
  • 380 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信