Kin*_*mes 2 python variables global function local
有没有办法从所述函数中定义的函数访问函数的局部变量?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))
Run Code Online (Sandbox Code Playgroud)
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))
Run Code Online (Sandbox Code Playgroud)
在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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |