如何定义函数
如何定义一个函数,让两个变量数值交换呢?我就想用函数的方式能实现吗请问?假设a=100,b=1
c(a,b)
之后a变1,b变100 可以,很简单。
def c(a, b):
a, b = b, a
return a, b
最好的其实是不用定义函数,直接
a, b = b, a
就可以了。 正解,直接能换的事儿何必要写个函数 °蓝鲤歌蓝 发表于 2021-1-23 23:00
可以,很简单。
最好的其实是不用定义函数,直接
>>> def c(a,b):
a,b=b,a
return a,b
>>> a=100
>>> b=1
>>> c(a,b)
(1, 100)
>>> a
100
>>> b
1
>>> 昨非 发表于 2021-1-23 23:05
正解,直接能换的事儿何必要写个函数
{:10_277:}我不是单纯为了两个数值互换,我是在学习函数功能,我在想能不能用函数修改参数的值,不是函数返回值,是给你一个数然后通过函数修改这个数 本帖最后由 °蓝鲤歌蓝 于 2021-1-24 00:21 编辑
洋洋痒 发表于 2021-1-23 23:46
你都没用到函数的返回值。
a, b = c(a, b)
如果你的意思是通过函数修改外部作用域的 a, b 的话,说实话,实在是多此一举。
还不如直接用上面我说的第二种方法。
除非
def c(*args):
global a, b
b, a = args
不过这个函数太笨了,传入的变量名只要不是 a, b 就不行了。
当然,主要还是问题有点离谱,类似于 "杀鸡非得用牛刀" 那种感觉。 °蓝鲤歌蓝 发表于 2021-1-24 00:13
你都没用到函数的返回值。
如果你的意思是通过函数修改外部作用域的 a, b 的话,说实话,实在是多此一 ...
这个只是我举得一个例子,我想知道能不能用函数修改参数的值,不是函数返回值,是给你一个数然后通过函数修改这个数 洋洋痒 发表于 2021-1-24 00:18
这个只是我举得一个例子,我想知道能不能用函数修改参数的值,不是函数返回值,是给你一个数然后通过函数 ...
1. 函数修改 传入的参数的值是可以的,只是你要把修改后的 参数的值 返回出去才行,因为python对于不可变类型来说,参数的传递是值传递,也就是说函数外的变量 与 传入函数内的变量 它们的内存地址是不一样的。
2. 函数不是这么学的,函数主要是提升代码的复用性,也就是把在代码中重复出现的部分封装成函数,你提出的这个函数是想在函数内部修改外部变量的值,实在没有这个必要。 °蓝鲤歌蓝 发表于 2021-1-24 00:28
1. 函数修改 传入的参数的值是可以的,只是你要把修改后的 参数的值 返回出去才行,因为python对于不可 ...
好的,明白了,我是看C语言里有个引用调用参数可以修改,所以想试试python可不可以 洋洋痒 发表于 2021-1-24 00:31
好的,明白了,我是看C语言里有个引用调用参数可以修改,所以想试试python可不可以
python里的可变类型是可以修改的,列表和字典这种。 °蓝鲤歌蓝 发表于 2021-1-24 00:33
python里的可变类型是可以修改的,列表和字典这种。
好的谢谢
页:
[1]