有示例代码:
# b.py
c = False
def d(i=c):
print(i, c)
Run Code Online (Sandbox Code Playgroud)
我想写a.py让的输出b.d是True, True:
# a.py
import b
b.c = True
b.d()
Run Code Online (Sandbox Code Playgroud)
但输出是False, True.
那么,why并how得到它?
写完回答
为什么:
# `inspect` may be useful
import inspect
v = True
def f(i=v):
print(i, v)
s = inspect.signature(f)
s.parameters
Out[6]: mappingproxy({'i': <Parameter "i=True">})
Run Code Online (Sandbox Code Playgroud) python ×1