gpt4 book ai didi

python - 从在所述函数中定义的另一个函数中更改函数的局部变量.. Python

转载 作者:行者123 更新时间:2023-11-28 20:50:57 26 4
gpt4 key购买 nike

有没有办法从函数中定义的函数访问函数的局部变量?Y 是一个带有字符串的元组,我希望满足条件时的任何大写字母在下一次调用 y 中的下一个项目时保持不变。我尝试使用内置函数 global,但我猜它只适用于全局变量。

def cap_sentence(y):  
caps = "on"
def func(x):
if caps == "on"
caps = "off"
return x.capitalize()
elif "." in x:
caps = "on"
return tuple(map(func, y))

最佳答案

使用nonlocal在 Python 3.x 中:

def cap_sentence(y):  
caps = "on"

def func(x):
nonlocal caps
if caps == "on":
caps = "off"
return x.capitalize()
elif "." in x:
caps = "on"

return tuple(map(func, y))

在 python 2.7 中:

def cap_sentence(y):  
cap_sentence.caps = "on"

def func(x):
if cap_sentence.caps == "on":
cap_sentence.caps = "off"
return x.capitalize()
elif "." in x:
cap_sentence.caps = "on"

return tuple(map(func, y))

关于python - 从在所述函数中定义的另一个函数中更改函数的局部变量.. Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11343070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com