复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43import os import collections import math import sys # 我们知道,用python写递归,在进行传参时,不像C++,参数的传递是值传递的时候,并不改变参数实际的值;只有使用引用传递时,才会改变参数, # 但是在Python中,参数的传递是分为可变类型和不可变类型的,比如list就是可变类型,tuple就是不可变类型,下面就介绍一下两种方法来避免参数的改变。 # 第一种就是使用如下面v[:]来对list进行操作 """ def main(v, cnt): if cnt == 5: v.append(cnt) print(v) return v.append(cnt) main(v[:], cnt+1) print(v) return """ """ v = [1, 2, 3] main(v[:], 4) """ # 第二种就是传参数的时候使用tuple,在函数里面,把tuple变为list,可进行修改。 """def main(v, cnt): if cnt == 5: tmp = list(v) tmp.append(cnt) print(tmp) return tmp=list(v) tmp.append(cnt) main(tuple(tmp), cnt+1) print(tmp) return v=[1,2,3] main(tuple(v),4)"""
最后
以上就是昏睡薯片最近收集整理的关于python传参时避免参数改变的全部内容,更多相关python传参时避免参数改变内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复