- 主题:这个Python代码怎么理解?
不是很明白
【 在 adoal 的大作中提到: 】
: 函数参数的默认值是在import阶段evaluate一次的
:
--
FROM 112.50.54.*
这个解释比较好理解
【 在 kawolu 的大作中提到: 】
: 我觉得可以这么理解:
: 函数也是一个对象
: 函数的默认参数是这个对象的一个成员
: ...................
--
FROM 112.50.54.*
大概明白了,感觉Python的有些东西初学者还是不太好把握的
【 在 annals 的大作中提到: 】
: class A():
: def __init__(self):
: print('in A')
: ...................
--
FROM 112.50.54.*
确实,代码不像看起来那么直白自然
【 在 LYMing1986 的大作中提到: 】
: 同一个列表对象,也就是旧的默认列表对象已生成,就不用再次初始化呀
: 这是python的feature,坑
:
--
FROM 112.50.54.*
我找找看,太深入的也不打算了解
【 在 adoal 的大作中提到: 】
: 如果你有其它语言经验,只是初学Python,看过tutorial后,
: 可以看Fluent Python和Python Cookbook
:
--
FROM 120.35.168.*
比较清楚了
【 在 essentialc 的大作中提到: 】
: 函数定义阶段:
: 当 Python 解释器遇到函数定义时,它会编译函数体并创建一个函数对象。
: 默认参数值会在函数定义时被计算,并将计算结果存储在函数对象的 __defaults__ 属性中。
: ...................
--
FROM 112.50.55.*
差不多
【 在 dengpang 的大作中提到: 】
: 函数赋值给了可变对象is,函数被调用两次,可变对象is从1变成1,1而局部变量ab的都指向可变对象is,当然你在a下面print(a)会是1
--
FROM 218.108.214.*