首页
Python中文网
在线手册
Python入门
Linux教程
Python高级教程
登录
注册
用户名
Email
自动登录
找回密码
密码
登录
立即注册
扫一扫,访问微社区
只需一步,快速开始
论坛
BBS
Python教程
在线手册
Python入门
Linux教程
Python高级教程
Python函数详解
搜索
本版
帖子
用户
道具
勋章
任务
设置
退出
Python论坛 - 国内最好的Python中文社区
»
论坛
›
技术交流
›
python问答 - 求助悬赏区 Help!
›
如何理解这个变量问题 print已注释
返回列表
查看:
2667
|
回复:
4
[求助]
如何理解这个变量问题 print已注释
ecnuwjn
当前离线
积分
1
1
主题
1
帖子
1
积分
贫民
贫民, 积分 1, 距离下一级还需 59 积分
贫民, 积分 1, 距离下一级还需 59 积分
积分
1
发消息
ecnuwjn
发表于 2019-11-18 22:33:03
|
显示全部楼层
|
阅读模式
def func(ls=[]):
ls.append(1)
return ls
a = func()
print(a) ### [1]
b = func()
print(a,b) ### [1, 1] [1, 1]
回复
使用道具
举报
edo
当前离线
积分
16
0
主题
16
帖子
16
积分
贫民
贫民, 积分 16, 距离下一级还需 44 积分
贫民, 积分 16, 距离下一级还需 44 积分
积分
16
发消息
edo
发表于 2019-11-20 20:31:34
|
显示全部楼层
>>> 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
回复
支持
反对
使用道具
举报
edo
当前离线
积分
16
0
主题
16
帖子
16
积分
贫民
贫民, 积分 16, 距离下一级还需 44 积分
贫民, 积分 16, 距离下一级还需 44 积分
积分
16
发消息
edo
发表于 2019-11-20 20:38:16
|
显示全部楼层
>>> c = []
>>> c[:] = func()[:]
4315026312
4315026312
>>> id(c)
4315026248
>>>
回复
支持
反对
使用道具
举报
edo
当前离线
积分
16
0
主题
16
帖子
16
积分
贫民
贫民, 积分 16, 距离下一级还需 44 积分
贫民, 积分 16, 距离下一级还需 44 积分
积分
16
发消息
edo
发表于 2019-11-20 20:46:53
|
显示全部楼层
>>> d = []
>>> d[:] = func([2])[:]
4315248136
4315248136
>>> id(d)
4315248392
>>> id([])
4315026376
>>> id([])
4315026376
>>> id([2])
4315026376
>>>
回复
支持
反对
使用道具
举报
傻眼貓咪
当前离线
积分
102
0
主题
102
帖子
102
积分
侠客
侠客, 积分 102, 距离下一级还需 198 积分
侠客, 积分 102, 距离下一级还需 198 积分
积分
102
发消息
傻眼貓咪
发表于 2021-8-6 13:00:10
|
显示全部楼层
Python 編程語言中的四種集合數據類型:
列表(list),元組(tuple),集(set) 字典(dictionary)
如果想採用這四種集合的其中一種做默認參數必定會出現你說描述的問題
解決方法如下:
def func(myList = None): # 不能先定義形態
myList = [] # 這裡開始定義形態
print(myList)
myList.append(1)
func()
func()
func()
# 列印出:
# []
# []
# []
复制代码
回复
支持
反对
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表