发现
问答
发起
提问
文章
文章
更多
专家
话题
财富榜
商城
Toggle navigation
首页
(current)
问答
文章
话题
商城
搜索
登录
注册
19
如何理解这个变量问题 print已注释
def func(ls=[]):
ls.append(1)
return ls
a = func()
print(a) ### [1]
b = func()
print(a,b) ### [1, 1] [1, 1]
1 条评论
分类:
默认分类
请先
登录
后评论
最佳答案
2021-09-23 23:04
Python 編程語言中的四種集合數據類型:
列表(list),元組(tuple),集(set) 字典(dictionary)
如果想採用這四種集合的其中一種做默認參數必定會出現你說描述的問題
解決方法如下:
def func(myList = None): # 不能先定義形態
myList = [] # 這裡開始定義形態
print(myList)
myList.append(1)
func()
func()
func()
# 列印出:
# []
# []
# []
复制代码
1 条评论
1
请先
登录
后评论
秋叶
采纳率 74% | 回答于 2021-09-23 23:04
默认排序
时间排序
其它 3 个回答
ztruth
2021-09-23 23:04
>>> def func(l=[]):
... print(id(l))
... l.append(1)
... print(id(l))
... return l
...
>>> a = func()
4315026312
4315026312
>>> id(a)
4315026312
>>> b = func()
4315026312
4315026312
>>> id(b)
4315026312
请先
登录
后评论
安诺斯诺
2021-09-23 23:04
>>> c = []
>>> c[:] = func()[:]
4315026312
4315026312
>>> id(c)
4315026248
>>>
请先
登录
后评论
木子丶簫
2021-09-23 23:04
>>> d = []
>>> d[:] = func([2])[:]
4315248136
4315248136
>>> id(d)
4315248392
>>> id([])
4315026376
>>> id([])
4315026376
>>> id([2])
4315026376
>>>
请先
登录
后评论
关注
5
关注
收藏
1
收藏,
511
浏览
历经传奇
提出于 2021-09-23 23:04
相似问题
×
发送私信
发给:
内容:
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因: