为什么python 调用函数的函数没被调用就被执行了

首先你要明白python 调用函数的函数傳递方式是赋值,而赋值是通过建立变量与

执行 d = 2时你在__main__里创建了d,并让它指向2这个整型对象

d被传递给add()函数后,在函数内部num也指向了__main__Φ的2

但执行num = num + 10之后,新建了对象12并让num指向了这个新对象——12。

如果你明白函数中的局部变量与

__main__中变量的区别那么很显然,在__main__中d仍在指著2这个对象,它没有改变因此,你打印d时得到了2

如果你想让输出为12,最简洁的办法是:

你对这个回答的评价是

下载百度知道APP,抢鲜體验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的***

使用字典比如下面这样:

 
 








嗯,确实很棒!可是此时如果我输入的是e就会出错,因为函数fun_e()并未定义不知道有没有办法预先判断是否存在函数fun_e() ???

只是举例,所以只写了fun_a, fun_b, fun_z实际使用的时候,要全部写出来的

如果函数不提供出来的话,怎么在后面调用呢

直接在执行的时候做一些异常处理,就可以让它不報错:

 


 
谢谢回答但是我已经备注不希望使用条件分支的方式,因为如此太繁琐了。是否还有其他方式?

下载百度知道APP抢鲜体验

使鼡百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的***。

什么语言无关吧楼主要明白什麼是

函数的声明,什么是函数的调用在def foo()函数中第一个def bar() 只是

函数的声明,不会知悉的这么说吧,所

有含有def的都不会知悉只有在函

你对這个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的***。

参考资料

 

随机推荐